how do i use imwrite
Show older comments
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');
>>
2 Comments
Image Analyst
on 6 Oct 2012
Edit your post. Highlight your code. Click the {}Code icon to format like normal code.
Ejike
on 6 Oct 2012
Accepted Answer
More Answers (0)
Categories
Find more on Language Support in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!