how do i use imwrite
Afficher commentaires plus anciens
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 commentaires
Image Analyst
le 6 Oct 2012
Edit your post. Highlight your code. Click the {}Code icon to format like normal code.
Ejike
le 6 Oct 2012
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Language Support dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!