unrecognized input argument moviegui MATLAB R2015b

4 views (last 30 days)
Hello, I tried this code:
h=figure;
movegui(h, 'onscreen');
rect = get(h,'Position');
rect(1:2) = [0 0];
vidObj = VideoWriter('H1,H2.avi');
vidObj.Quality = 100;
open(vidObj);
for it=1:Nt
t=it*dt;
H1(1) = 1;
figure(1)
h=plot(x,H1,'--',x, H2,':','lineWidth',2);
title({['H1 and H2 in the wake region'];['time(\itt) = ',num2str(dt*it)]})
xlabel('Spatial coordinate (x) \rightarrow')
ylabel('(H1), (H2) \rightarrow')
legend('H1', 'H2')
movegui(h, 'onscreen');
hold all;
if ~mod(t,0.1)
saveas(gcf, ['t=',num2str(t),'.png'])
end
for i=2:Nx
H1(i)=...
end
end
close(vidObj);
Why I cannot see any movie and I get the error message above?
  1 Comment
Jan
Jan on 28 Jan 2016
Post the complete error message, such that we do not have to guess which of the 2 movegui commands fails.

Sign in to comment.

Accepted Answer

Jan
Jan on 28 Jan 2016
Edited: Jan on 28 Jan 2016
movegui(h, pos) requires the first input to be the handle of a figure. But inside the loop h is the handle of the line object created by plot().
Because the figure does not change its size inside the loop, you can omit the movegui command there.
Some improvements:
hFig = figure; % a better name than simply "h"
...
figure(hFig); % Not hardcoded [1]
...
movegui(hFig, 'onscreen'); % Or omit this line!

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!