Ayuda con Matlab
Publicado por Ppinilla (1 intervención) el 15/06/2010 20:42:07
Hola, soy estudiante de Matemáticas y estoy empezando con el Matlab.
Tengo que hacer un ejercicio donde me pide que realice mediante el método 'quad' de Matlab una tabla de valores de la funcion elipitca de Legendre F(x)=Integral( f(t) ,0, pi/2) donde
f(t)= 1 / sqrt (1 - x * sin(t) ^2) ;
Empecé creando la funcion Legendre en un m.file
function f = legendre (x,t)
f = 1./ (sqrt ( 1 - x*(sin(t)^2)))
Y luego, al sustituir x por cualquier valor de 0 a 1 en intervalos de 0.1 ( que es lo que me pide el ejercicio ) y utilizar:
quad( @(t)legendre(0.1,t),0,pi/2) *habiendo antes declarado la variable t
me sale siempre este error :
***
??? Error using ==> mrdivide
Matrix dimensions must agree.
Error in ==> legendre at 2
y = 1/sqrt(1-x*(sin(t).^2));
Error in ==> @(t)legendre(0.1,t)
Error in ==> quad at 77
y = f(x, varargin{:});
***
Llevo bastante tiempo repasándolo y buscando en internet y no encuentro nada. Os agradecería mucho que me ayudaséis cuanto antes. Siento haber sido un poco pesado con la explicación, pero no quería omitir posibles fallos de código. Muchas gracias!
Tengo que hacer un ejercicio donde me pide que realice mediante el método 'quad' de Matlab una tabla de valores de la funcion elipitca de Legendre F(x)=Integral( f(t) ,0, pi/2) donde
f(t)= 1 / sqrt (1 - x * sin(t) ^2) ;
Empecé creando la funcion Legendre en un m.file
function f = legendre (x,t)
f = 1./ (sqrt ( 1 - x*(sin(t)^2)))
Y luego, al sustituir x por cualquier valor de 0 a 1 en intervalos de 0.1 ( que es lo que me pide el ejercicio ) y utilizar:
quad( @(t)legendre(0.1,t),0,pi/2) *habiendo antes declarado la variable t
me sale siempre este error :
***
??? Error using ==> mrdivide
Matrix dimensions must agree.
Error in ==> legendre at 2
y = 1/sqrt(1-x*(sin(t).^2));
Error in ==> @(t)legendre(0.1,t)
Error in ==> quad at 77
y = f(x, varargin{:});
***
Llevo bastante tiempo repasándolo y buscando en internet y no encuentro nada. Os agradecería mucho que me ayudaséis cuanto antes. Siento haber sido un poco pesado con la explicación, pero no quería omitir posibles fallos de código. Muchas gracias!
Valora esta pregunta
0