I have this code that plots a 3D Lorenz attractor. However when i try to write the plot to file using imwrite, it brings up an error:
Error in lorenzzz (line 31) imwrite(Lorenzattractor,'Lattractor','.png'); >> a=10; %sigma
b=8/3; %beta
r=28; %rho
h=0.004; %time step size dt
x=0;y=1; z=0;f=zeros(1,3); %creates an array to hold the values of x,y,z
f=[x y z]; k=1; %the first row of the array
for t=0:h:100 k1_x=a*(y(k)-x(k)); k2_x=a*(y(k)-x(k))+(k1_x*h*0.5); k3_x=a*(y(k)-x(k))+(k2_x*h*0.5); k4_x=a*(y(k)-x(k))+(k3_x*h); x(k+1)=x(k)+(k1_x+2*k2_x+2*k3_x+k4_x)*h/6; %value of x at t+1
k1_y=x(k)*(r-z(k))-y(k); k2_y=(x(k)*(r-z(k))-y(k))+k1_y*h*0.5; k3_y=(x(k)*(r-z(k))-y(k))+k2_y*h*0.5; k4_y=(x(k)*(r-z(k))-y(k))+k3_y*h*0.5; y(k+1)=y(k)+(k1_y+(2*k2_y)+(2*k3_y)+(k4_y))*h/6; %value of y at t+1
k1_z=x(k)*y(k)-b*z(k); k2_z=(x(k)*y(k)-b*z(k))+k1_z*h*0.5; k3_z=(x(k)*y(k)-b*z(k))+k2_z*h*0.5; k4_z=(x(k)*y(k)-b*z(k))+k3_z*h*0.5; z(k+1)=z(k)+(k1_z+(2*k2_z)+(2*k3_z)+(k4_z))*h/6; %value of z at t+1
k=k+1;end plot3(x,y,z); grid on; xlabel('x'); ylabel('y'); zlabel('z'); title('Lorenzattractor');
%the code runs up to this point.
imwrite(Lorenzattractor,'Lattractor','.png');brings error: Error in lorenzzz (line 31) imwrite(Lorenzattractor,'Lattractor','.png'); >>
Best Answer