声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2202|回复: 9

[编程技巧] 首次运行程序出现 invalid handle 错误的问题

[复制链接]
发表于 2007-11-3 09:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
程序运行到保存图像时,出现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 10:05 | 显示全部楼层
原帖由 弯弓射大雕 于 2007-11-3 09:26 发表
程序运行到保存图像时,出现invalid handle 错误,并且再运行一次这个错误又没有了,郁闷不知怎么回事呀,请高手指点


请贴一下你的代码。另外,养成一个习惯:编写简单程序时,在程序第一行写 clear all
 楼主| 发表于 2007-11-6 09:51 | 显示全部楼层

回复 #5 eight 的帖子

[gcf5,gcf6,gcf7,gcf8,gcf9]=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;
[gcf10,gcf11,gcf12,gcf13,y]=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')
发表于 2007-11-6 14:39 | 显示全部楼层
原帖由 弯弓射大雕 于 2007-11-6 09:51 发表
[gcf5,gcf6,gcf7,gcf8,gcf9]=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 的帖子

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

[ 本帖最后由 eight 于 2007-11-6 14:57 编辑 ]
发表于 2007-11-6 14:58 | 显示全部楼层
原帖由 弯弓射大雕 于 2007-11-6 14:46 发表
程序挺长的,这只是最后输出结果部分,[gcf5,gcf6,gcf7,gcf8,gcf9]=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,第二次运行就不会了。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 08:27 , Processed in 0.063756 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表