My input method isn't working?

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

Answers (2)

Image Analyst
Image Analyst on 18 May 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 Comments

Well, can you tell me how i should define x y and z then? they're supposed to have initial values (mine were [1 1 1]) and the i'm using ode45 to solve the equations i described
Attach pro1.m so we can try to fix it.
pro1.m is the first section of code i wrote up

Sign in to comment.

Marc
Marc on 18 May 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 Comment

So now it's saying there aren't enough input arguments

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Asked:

on 18 May 2014

Commented:

on 19 May 2014

Community Treasure Hunt

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

Start Hunting!