Problem Creating Animated Gif File
Ältere Kommentare anzeigen
I am having trouble getting my code to create an animated gif of the following plot. It only displays the first frame slightly transparent. Any help is greatly appreciated. My code is shown below.
P = linspace(150,800,31);
F = linspace(50,600,41);
ICP = 1000:-10:100;
figure(1)
axis([150 800 50 600 0 20]);
ylabel('Flow (SCCM)');
xlabel('Pressure (mTorr)');
zlabel('Non-Uniformity');
set(gca,'nextplot','replacechildren');
for k = 1:length(ICP)
for j = 1:length(P)
for i = 1:length(F)
if 1.156*P(j)-97.15 > F(i)
UN(i,j) = Descum(P(j),F(i),ICP(k));
else
UN(i,j) = NaN;
end
end
end
surf(P,F,UN);
title(['ICP = ' num2str(ICP(k))]);
Frame(k) = getframe(1);
im = frame2im(Frame(k));
[imind,cm] = rgb2ind(im,256);
if k == 1;
imwrite(imind,cm,'DescumGif','gif','Loopcount',inf);
else
imwrite(imind,cm,'DescumGif','gif','WriteMode','append');
end
end
Antworten (1)
Jan
am 23 Jul. 2011
I've used RAND instead of the unknown function Descum and it ran fine. Perhaps your single picture use completely different colormaps? Then use the cm of the first frame for the others inside RGB2IND:
if k == 1
[imind, cm] = rgb2ind(im,256);
imwrite(imind, cm, 'DescumGif', 'gif', 'Loopcount', inf);
else
imind = rgb2ind(im, cm);
imwrite(imind, cm, 'DescumGif', 'gif', 'WriteMode', 'append');
end
2 Kommentare
Shay Saliba
am 25 Jul. 2011
Jan
am 25 Jul. 2011
@Shay: Your code runs fine on my computer. Please explain what this means exactly: "It only displays the first frame slightly transparent". Does Matlab have problems with the display? Does your function run through all iterations? Can you post the created picture?
Kategorien
Mehr zu Animation finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!