while using getframe and the view is changing every iteration. It says cdata should be of same size. i found out that the frame size shouldn't change from a friend, but how do I determine the frame size? is there a way where i don't have to manually set the frame size even though the view is changing? In the below code the graph once saved is out of frame.
x = linspace(0,1,100);y = linspace(0,2,200);t = linspace(0,1,100);z = zeros(length(x),length(y),length(t));for count = 1:length(t) z(:,:,count) = sin(2*pi*t(count)*x'*y/0.5)*t(count)^2;end[Y,X] = meshgrid(y,x);for count = 1:length(t) surf(X,Y,z(:,:,count)); xlabel('X(m)'); ylabel('Y(m)'); zlabel('Z(m)'); zlim([-1 1]); colormap jet; view([30-0.5*count 35]) frame(count) = getframe(gcf, [10 10 520 400]); endvidobj = VideoWriter('meshgridtrial.avi');vidobj.Quality = 100;vidobj.FrameRate = 20;open(vidobj);writeVideo(vidobj,frame);close(vidobj);
I am getting this error:
Error using getframe (line 125)
The specified rectangle is not fully contained within the figure. MATLAB no longer supports this capability.
Error in animation_trial2 (line 33)
frames(i) = getframe(gca,[0 0 600 600]);
Best Answer