unrecognized input argument moviegui MATLAB R2015b

2 次查看(过去 30 天)
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 个评论
Jan
Jan 2016-1-28
Post the complete error message, such that we do not have to guess which of the 2 movegui commands fails.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2016-1-28
编辑:Jan 2016-1-28
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!

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by