Creating a gif from a matrix of double.

33 views (last 30 days)
My problem is that I have a set of matrices , each matrix contain only 1 and -1.
What I'm trying to do is to make a gif of this matrices in succesion, so that the gif frames are the rapresenation of the the matrices with colors, black for -1 and white for 1 (somthing like imagesc) . But from my code somenthind do not work.
In my code x is a cell array which contains my matrices .

Accepted Answer

Ameer Hamza
Ameer Hamza on 20 Apr 2020
Edited: Ameer Hamza on 20 Apr 2020
See this example to create a gif using black and white imagesec() plots.
% 100 matrices of size 4x4 stored in cell array filled with random data
M = squeeze(mat2cell((rand(20,20,100) > 0.5)*2-1, 20, 20, ones(1,100)));
outFilename = 'myGifFile.gif';
fig = figure();
ax = axes();
colormap([0 0 0; 1 1 1]);
for i=1:100
imagesc(ax, M{i});
img = getframe(ax);
img = rgb2gray(img.cdata);
if i==1
imwrite(img, outFilename, 'gif', 'LoopCount', inf, 'DelayTime', 0.05)
else
imwrite(img, outFilename, 'gif', 'WriteMode', 'append', 'DelayTime', 0.05);
end
end

More Answers (1)

Image Analyst
Image Analyst on 19 Apr 2020
If you want a non-animated one, just use imwrite().
  1 Comment
andrea
andrea on 19 Apr 2020
Not really of any help. I just wanna an animated gif of a sequence matrices which entries are -1 and 1 , I don't know if helps but i'm trying to make an animated gif of an Ising Model simulation.

Sign in to comment.

Categories

Find more on Images in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!