Funciones en matlab

En archivo .m creo la siguiente función:
function y=prueba(x)
y=1./((x-.3).^2+01)+1./((x-.9).^2+.04)-6;
y la lamo desde matlab con:
>>x=-1:0.1:2;
>>Plot(x, prueba(x))
Realmente no se como es que se debe realizar la gramática en matlab, por ejemplo el * no se como utilizarlo con . Antes o después cuando se utiliza el . En la función y como es el uso de paréntesis me importa soiobre todo los signos

2 respuestas

Respuesta
1
Te daré algunas reglas básicas de gran utilidad. En general:
1.El signo de multiplicación es '*' (sin comillas), de la división '/', y de la potencia es '^'. Cuando se opera con arrays (arreglos), se debe añadir un punto ('. ') A cada operador si lo que se desea es operar sobre el elemento en particular y NO sobre el array.
2.El separador decimal es un punto: '. ' (Sin comillas) y NO una coma ','.
3."Las expresiones se evalúan de izquierda a derecha, con la operación de potencia teniendo el orden de precedencia más alto, seguida por la multiplicación y división que tienen ambas igual precendencia y seguidas, finalmente, por suma y resta que tienen la misma precedencia."
4.Se pueden usar paréntesis para alterar este orden, en cuyo caso la evaluación se inicia dentro del parénetesis más interno y procede hacia afuera.
Ejemplos:
3^2-5-6/3*2=0
3^2-5-6/(3*2)=3
4*3^2+1=37
(4*3)^2+1=145
Finalmente, para tu ejemplo en particular, tienes dos arreglos: por e y. Por tanto debes usar un punto '. ' Antes de cada operador. Yo lo haría de la siguiente forma en un sript:
x=-1:0.01:2;
y=(1./((x-.3).^2+.01))+(1./((x-.9).^2+0.04))-6;
plot(x,y);
Espero que esta respuesta te acalare la duda, de lo contrario o si tienes otra inquietud, no dudes en consultarme de nuevo. Chao!.
Respuesta
1

Solo añadiendo a lo ya dicho, el punto lo utilizas para operar elemento por elemento de arrays, es decir:

x= [x1 x2 x3];

y=[y1 y2 y3];

z=x.*y;

el resultado seria:

z=[x1*y1 x2*y2 x3*y3]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas