Un problema con matlab.

Buenos días tengo un proyecto con matlab y hay uno de los ejercicios que no me sale después de mucho intentarlo y nada.He pensado que como usted es experto en el tema seguramente pueda conseguir resolverlo.
Muchas gracias de antemano.
El problema es el siguiente:
Ejecuta el script de Matlab SteepestStep (que acompa~na a esta practica) para ver un ejemplo
de como ir desde un punto P (donde de nimos v) a otro punto QUE (donde g(s) = 0) para
la funcion F(x; ¿y) =? Sin(x) sin(y). Estudia las lneas 37 y 38 del script para aprender como
se de ne en Matlab una funcion que depende de parametros (por ejemplo, una funcion de una
variable a partir de una funcion de varias variables que se mantienen jas { como nuestra funcion
g(s), eq (1)).
El proceso completo consiste simplemente en repetir este paso iterativamente hasta que nos
encontremos tan cerca como deseemos del mnimo buscado (donde rF = 0) lo que controlaremos
a traves de un parametro peque~no TOL:
(1) Escoger un punto inicial p
(2) Para este punto p, determinar v = rF(p)
(3) Para estos p y v, de nimos g (eq. (1))
(4) Resolvemos g(s) = 0
(5) Con el valor s obtenido, calcular q = p ?? S v
(6) Si jjrF(q)jj2 < TOL , ya esta.
(7) En caso contrario, el vector q sera el nuevo punto p. Ir a (2)
Sin embargo hay todava un problema tecnico importante. Para resolver g(s) = 0, necesitamos
encontrar un intervalo donde se halle el punto s buscado, esto es tenemos que encontrar
un intervalo (sa; sb) donde g cambia de signo. Notese que hemos construido f(s) de manera tal
que g(0) = f0(0) < 0. As, si escogemos sa = 0, solo necesitaremos encontrar un valor sb > 0
tal que g(sb) > 0. En general, esta tarea no es trivial. Sin embargo, si nuestra funcion F crece
cuando nos movemos su cientemente en cualquier direccion (limjjxjj! 1 F(x) ! 1), solamente
tendremos que incrementar s lo su ciente para hallar un valor apropiado para sb. Una manera
de hacer esto es comenzar con s = 1 y comprobar si g(s) > 0. Si lo fuera, este sera nuestro
valor sb. Una manera de proceder es comenzar con s = 1 y comprobar si g(1) > 0. Si lo es, este
sera sb. En caso contrario duplicamos s recursivamente hasta que g(s) > 0.
 Escribir la funcion de Matlab SteepestMin que implementa el algoritmo de la \maxima
pendiente" para funciones de 2 variables. La funcion debe usar el mecanismo de busqueda
de intervalos (sa; sb) indicado anteriormente y fzerotx para hallar la solucion de g(s) = 0.
Adicionalmente, la funcion debe producir una gra ca de contornos de F(x; y) en el dominio
[? 1:5; 1:5] [?1:5; 1:5], mostrando los puntos p obtenidos a lo largo del proceso de
minimizacion unidos por una poligonal. (En caso de necesidad, estudiar las lneas 83{114
del script SteepestStep).
function [qx,qy,Fxy,k] = SteepestMin(F,Fx,Fy,px,py,TOL)
% Encuentra un mínimo de la función inline F(x, y) usando el algoritmo
% De la máxima pendiente, utilizando fzerotx para solucionar g(s)=0.
%
% INPUT. F Función que deseamos minimizar ('inline' function)
% Fx Derivada de F con respecto a x ('inline' function)
% Fy Derivada de F con respecto a y ('inline' function)
% px coordenada x del punto inicial
% py coordenada x del punto inicial
% TOL tolerancia de la solución
% OUTPUT. Qx coordenada x del mínimo
% qy coordenada y del mínimo
% Fxy Valor de la función en el mínimo
% Que Numero de iteraciones del algoritmo
 Escribir una funcion Steepest3 que implementa el algoritmo anterior para funciones de 3
variables:
function [qx,qy,qz,Fxyz,k] = Steepest3(F,Fx,Fy,Fz,px,py,pz,TOL)
Utilizar Steepest3 para hallar el mnimo de
H(x; y; z) = (x + e??x)(y + e??2y)(z + e??3z)
Utilizar TOL=10??3, 10??9, y 10??15.
Respuesta
1
Cada aplicación sirve para la gestión y o desarrollo de programas de muy diferentes ámbitos dado que habitualmente no me dedico al desarrollo de logaritmos he creído más conveniente indicarle las páginas de soporte y foro de matlabs para resolver su cuestión en concreto, no hay como ir al desarrollador del programa que sabe las limitaciones que tiene o usuarios que han tenido problemas similares así como conocer los bugs del programa.
Espero que le sean de utilidad, le requerirán que se cree una cuenta pero eso es lo de menos, sobre todo en los foros de desarrollo del programa le pueden ser muy útiles las respuestas.
esta es la pagina de soporte de la aplicación , http://www.mathworks.es/support/contact_us/index.html
Esta es el foro de la página matlab tiene que crearse una cuenta y que el email que escriba arriba sea diferente del que ponga abajo, elegir su país y nada más . seguidamente ya podrá copiar lo que me ha enviado y pegarlo en el mensaje de allí.
http://www.mathworks.es/matlabcentral/newsreader/
Mande la pregunta y nadie me contesto, el sitio esta en inglés asique es posible que no contesten porque lo escribí en español.De todas formas yo no se ingles entonces no puedo ponérselo en dicho idioma.
Si conoces otra página en español o algún otro sitio donde me lo puedan solucionar. Alguien que sepa aunque le hubiera que pagar porque ya es el último ejercicio que me queda para hacer el trabajo.
Gracias por haber contestado.
Aquí tienes el foro oficial de matlab
http://www.laneros.com/archive/index.php/t-43674.html
este es otro foro donde tambien hay usuarios de  matlab
http://www.lawebdelprogramador.com/news/new.php?id=132&texto=Matlab
Aquí te dejo los links a 2 completos manuales en formato pdf de Escuela Técnica Superior de Ingenieros Industriales de la Universidad Politécnica de Madrid por lo que te puedan ayudar
http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdf
http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab61/Matlab61pro.pdf
Bueno espero haberte ayudado, suerte.
Esta es una página de asesoría de matlab para lo que te pueda ayudar te la añado
http://www.chw.net/foro/lenguajes-de-programacion-f22/526171-asesoria-en-matlab.html
Ya me contarás si resolviste el problema
Gracias por todo.
Lo solucione gracias a un amigo ya que en los sitios esos nadie se preocupa de ayudarte a no ser que sea algo muy rápido de responder.
De todas formas muchas gracias por las páginas son mucho mejores del tema que las que yo encontré y puede que para alguna duda puntual alguna vez me sea útil.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas