弯弓射大雕 发表于 2007-11-3 09:26

首次运行程序出现 invalid handle 错误的问题

程序运行到保存图像时,出现invalid handle 错误,并且再运行一次这个错误又没有了,郁闷不知怎么回事呀,请高手指点

[ 本帖最后由 eight 于 2007-11-4 10:04 编辑 ]

花如月 发表于 2007-11-3 21:27

应该是第一次运行前,没有handle。而运行后会生成这个handle,再次运行就不报错了

弯弓射大雕 发表于 2007-11-4 08:53

回复 #2 花如月 的帖子

对,这属于正常的吗

花如月 发表于 2007-11-4 09:13

原帖由 弯弓射大雕 于 2007-11-4 08:53 发表 http://www.chinavib.com/forum/images/common/back.gif
对,这属于正常的吗
不正常,如果是警告可以接受

报错了,就是本身程序有问题

eight 发表于 2007-11-4 10:05

原帖由 弯弓射大雕 于 2007-11-3 09:26 发表 http://www.chinavib.com/forum/images/common/back.gif
程序运行到保存图像时,出现invalid handle 错误,并且再运行一次这个错误又没有了,郁闷不知怎么回事呀,请高手指点

请贴一下你的代码。另外,养成一个习惯:编写简单程序时,在程序第一行写 clear all

弯弓射大雕 发表于 2007-11-6 09:51

回复 #5 eight 的帖子

=plot_ampli(ntotal_colum,mm_index,fop_out,ampli_out,phase_out);

%figure(10),figure(11),figure(12),figure(13)是拟合数据与原始数据的比较图
t=150:dt:(n_row_origin-n_cut_e)*dt;
=plot_compare(x,dt,t,ntotal_row,mm_index,ntotal_colum,fop_out,ampli_out,phase_out);
y;
save fitdata_im2053_2.dat y -Ascii%将拟合后数据存起来
%谱图
saveas(gcf1,'pu1','emf')
saveas(gcf2,'pu2','emf')
saveas(gcf3,'pu3','emf')
saveas(gcf4,'pu4','emf')
%恢复幅值
saveas(gcf5,'am1','emf')
saveas(gcf6,'am2','emf')
saveas(gcf7,'am3','emf')
saveas(gcf8,'am4','emf')
saveas(gcf9,'am_all','emf')
%原始数据与拟合数据比较
saveas(gcf10,'compare_1','emf')
saveas(gcf11,'compare_2','emf')
saveas(gcf12,'compare_3','emf')
saveas(gcf13,'compare_4','emf')
fclose('all')

eight 发表于 2007-11-6 14:39

原帖由 弯弓射大雕 于 2007-11-6 09:51 发表 http://www.chinavib.com/forum/images/common/back.gif
=plot_ampli(ntotal_colum,mm_index,fop_out,ampli_out,phase_out);

%figure(10),figure(11),figure(12),figure(13)是拟合数据与原始数据的比较图
t=150:dt:(n_row_origin-n_cut ...
这个代码别人下载以后能够马上运行不?

弯弓射大雕 发表于 2007-11-6 14:46

回复 #7 eight 的帖子

程序挺长的,这只是最后输出结果部分,=plot_ampli(ntotal_colum,mm_index,fop_out,ampli_out,phase_out);这个子程序就是返回handle(gcf5,gcf6,gcf7,gcf8,gcf9),然后保存图,不知这样行吗?

[ 本帖最后由 eight 于 2007-11-6 14:57 编辑 ]

eight 发表于 2007-11-6 14:58

原帖由 弯弓射大雕 于 2007-11-6 14:46 发表 http://www.chinavib.com/forum/images/common/back.gif
程序挺长的,这只是最后输出结果部分,=plot_ampli(ntotal_colum,mm_index,fop_out,ampli_out,phase_out);这个子程序就是返回handle(gcf5,gcf6,gcf7,gcf8,gcf9),然后保存图,不知 ...
如果是这样,外人是无法帮忙的。你自己设置断点调试一下吧,看看 gcf5~gcf9 是否都有值,我估计是你的 plot_ampli 函数写得不对,导致部分输出参数没有赋值就返回了

弯弓射大雕 发表于 2007-11-6 16:17

回复 #9 eight 的帖子

谢谢eight的热心解答,可是每次运行时都是第一次出现invalid handle,第二次运行就不会了。
页: [1]
查看完整版本: 首次运行程序出现 invalid handle 错误的问题