t9t8321 发表于 2007-6-7 13:02

步长设置的问题

一个计算式,xx=linspace(a(1,1),a(th/num,1),th/num*pace);
在单独运行时是没错的
但当我做gui,添加回调函数时,却出现了
Warning: Colon operands must be real scalars.
(Type "warning off MATLAB:colon:operandsNotRealScalar" to suppress this warning.)
> In D:\学习\matlab\toolbox\matlab\elmat\linspace.m at line 18
In D:\学习\matlab\work\zuihou999.m (popupmenu1_Callback) at line 1914
In D:\学习\matlab\toolbox\matlab\uitools\gui_mainfcn.m at line 66
In D:\学习\matlab\work\zuihou999.m at line 42
这是why?
gui中linspace不能用?
然后我换了 xx=x0(1):(x0(scope)-x0(1))./(scope*pace-2):x0(scope);(与linspace等价的式子)
又出现
Warning: Colon operands must be real scalars.
(Type "warning off MATLAB:colon:operandsNotRealScalar" to suppress this warning.)
> In D:\学习\matlab\work\zuihou999.m (popupmenu1_Callback) at line 1914
In D:\学习\matlab\toolbox\matlab\uitools\gui_mainfcn.m at line 66
In D:\学习\matlab\work\zuihou999.m at line 42
但是在单独运行时,我从workspace中看都是正确,也有正确的显示结果的
请达人解答

[ 本帖最后由 eight 于 2007-6-7 13:27 编辑 ]

eight 发表于 2007-6-7 13:27

原帖由 t9t8321 于 2007-6-7 13:02 发表 http://www.chinavib.com/forum/images/common/back.gif
一个计算式,xx=linspace(a(1,1),a(th/num,1),th/num*pace);
在单独运行时是没错的
但当我做gui,添加回调函数时,却出现了
Warning: Colon operands must be real scalars.
(Type "warning off MATLAB:col ...

步长必须是实的标量,估计是由于你用 点除 造成的,改为 除 试试,不过必须保证分子分母都是标量。另外,linspace 在 GUI 中是可以使用的

ps:这是警告而已,并非错误,大可不必理会

[ 本帖最后由 eight 于 2007-6-7 13:29 编辑 ]

t9t8321 发表于 2007-6-7 13:56

ls帅哥,我qq是420814250,欢迎加我
的确是警告,要紧么?
另有一问,请帮忙解答,就是gui的下拉菜单,假设下拉项是五个阶导,我用如下语句:
   handles.one='一阶导图像';
   handles.two='二阶导图像';
   handles.thr='三阶导图像';
   handles.fou='四阶导图像';
   handles.fiv='五阶导图像';
ifhandles.one
……(执行语句);
elseif handles.two
……
else…………
end
为啥生成的程序,在下拉选择时,只相应第一个,后面四个没反应,如果不对,又该怎么做?

eight 发表于 2007-6-7 14:37

原帖由 t9t8321 于 2007-6-7 13:56 发表 http://www.chinavib.com/forum/images/common/back.gif
ls帅哥,我qq是420814250,欢迎加我
的确是警告,要紧么?
另有一问,请帮忙解答,就是gui的下拉菜单,假设下拉项是五个阶导,我用如下语句:
   handles.one='一阶导图像';
   handles.two='二阶导图 ...

建议先看看 GUI 基础书或者本版关于 GUI 心得的精华贴,不要急着动手

另外,请留意我的签名档
页: [1]
查看完整版本: 步长设置的问题