Plot animation Effcientcey and double to struct error

조회 수: 2 (최근 30일)
Lawson Hoover
Lawson Hoover 2012년 12월 8일
I am trying to animate a plot. I have got it to work but I seems to moving a tad slow, and Also when I allocate the frames into a variable M with getframe, the M gets a red underline saying that I should preallocate for speed. I have been trying to do this but I get is the error:
The following error occurred converting from struct to double:
Error using double
Conversion to double from struct is not possible.
I have no idea how to fix this. The code I am using is below:
plot(x,y,'--r','LineWidth',3); % original position
xlabel('Beam Length (in.)','Color','g');
ylabel(bstr,'Color','g');
ylim([-(Beam.y(10)) max(Beam.y)]);
title(astr,'Color','y','fontweight','b');
set(S.ax,'YDir','reverse');
set(S.ax,'XGrid','on');
set(S.ax,'YGrid','on');
y =0;
z = 0;
hold on
clear M
M = zeros(1,100);
ht = plot(y,z,'-b','linewidth',2); % new position
for i = 1:100
if i == 1
set(ht ,'XDataSource','Beam.x')
set(ht,'YDataSource','Beam.y')
end
set(ht,'XData',Beam.x(1:i))
set(ht,'YData',Beam.y(1:i))
M(i) = getframe(gcf); % this says that I shoudld preallocate it but when I do I get an error
end
legend('Without Deflection','With Deflection');
hold off

답변 (1개)

Walter Roberson
Walter Roberson 2012년 12월 8일
getframe() returns a movie frame, which is a struct. You cannot store a struct into a scalar double location such as M(i) where M has been initialized to zeros(1,100)
What are you going to do with the frames after you get them? If you are going to create a video, then see the documentation for VideoWriter for an example of how to do it.
  댓글 수: 3
Walter Roberson
Walter Roberson 2012년 12월 8일
M(100) = struct('cdata',[], 'colormap', []); %preinitialization
Alexander
Alexander 2013년 4월 24일
Thank you so much! That error was had me stuck all day!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Animation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by