I was trying to turn this sequence for a single plot into a movie. Beam.x and Beam.y is a 100 spot vector. My original code is:
plot(x,y,'--r','LineWidth',3); % This is the original position of the Beam
hold on % Holds only the axes values
line(Beam.x,Beam.y,'color','b','linewidth',2); % The New position of Beam
xlabel('Beam Length (in.)','Color','g');
ylabel(bstr,'Color','g');
ylim([-(Beam.y(10)) max(Beam.y)]);
legend('Without Deflection','With Deflection');
title(astr,'Color','y','fontweight','b');
set(S.ax,'YDir','reverse');
set(S.ax,'XGrid','on');
set(S.ax,'YGrid','on');
hold off Anytime I try to turn it into a movie or anything of the sort I get the error:
The following error occurred converting from struct to double: Error using double Conversion to double from struct is not possible.
OR:
Error using capturescreen Figure destroyed during getframe
Error in getframe (line 103)
x=builtin('capturescreen', varargin{:});
Any ideas?
No products are associated with this question.
I have figured out how to make it work.
2 Comments
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/56046#comment_116014
Which line of code shows the problem about converting struct to double? How are you trying to turn it into a movie?
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/56046#comment_116063
% Data clear; close all; M = zeros(1,100); x = linspace(1,100); y = linspace(50,100); % figre figure(1); set(gcf,'Renderer','OpenGL'); h = plot(x(1),y(1),'-r','linewidth',6); set(h,'EraseMode','normal'); % Animation j = 1; for j = 1:100 set(h,'XData',x(j)) set(h,'YData',y(j)) plot(h) M(j) = getframe; endThe Code above is what I have been messing with to figure the animation thing and it keeps on returning the first error.