My input method isn't working?

2 visualizaciones (últimos 30 días)
Andrew Davies
Andrew Davies el 18 de Mayo de 2014
Comentada: Andrew Davies el 19 de Mayo de 2014
Something is going wrong. Here is the code i'm trying to get to work
%function dLdt = Lorentz(t,x,y,z)
%s = 10
%b = 8/3
%x = L(1);
%y = L(2);
%z = L(3);
%dx = s*(y - x)
%dy = r*x - y - x*z
%dz = x*y - b*z
%dLdt = zeros(3,2,1);
%dLdt(1)=dx;
%dLdt(2)=dy;
%dLdt(3)=dz;
That is the one .m file i made. The second one is simply
%[t,x,y,z]=ode45('pro1',0:0.001:1,[1 1 1]);
%plot3(L(:,1),L(:,2),L(:,3));
Now it says 'Undefined function or method 'L' for input arguments of type 'double'. I'm pretty sure my syntax is completely retarded somewhere. This is why i'm asking you guys :)
pro1 is the .m file

Respuestas (2)

Image Analyst
Image Analyst el 18 de Mayo de 2014
Why do you think L should have any value? Did L come from anywhere? No. It was not passed in through the input argument list, nor is it a global variable, nor did you call getappdata() or assign it or initialize it. So how is L supposed to have any value?
  3 comentarios
Image Analyst
Image Analyst el 19 de Mayo de 2014
Attach pro1.m so we can try to fix it.
Andrew Davies
Andrew Davies el 19 de Mayo de 2014
pro1.m is the first section of code i wrote up

Iniciar sesión para comentar.


Marc
Marc el 18 de Mayo de 2014
I think you want to define your function Lorentz(t,L).
Also, in your call to Ode45, I think you want to indicate Lorentz as the function and instead of x,y,z in the output, replace with L.
  1 comentario
Andrew Davies
Andrew Davies el 19 de Mayo de 2014
So now it's saying there aren't enough input arguments

Iniciar sesión para comentar.

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by