声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2050|回复: 7

[编程技巧] 这个错误怎么回事?

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

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

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

x
这个错误什么意思啊?

??? Input argument "NEWexpr" is undefined.

Error in ==> sym.subs at 104
msg = inputchk(OLDf,OLDexpr,NEWexpr);

Error in ==> feixianxing>pushbutton3_Callback at 658
        ping1=num2str(w1);z=subs(c);

Error in ==> gui_mainfcn at 75
        feval(varargin{:});

Error in ==> feixianxing at 42
    gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback.

我运的的程序的一部分是
h1=-pi/(2*ks)/(pi/2-asin(h/c)-h/c*sqrt(1-(h/c)^2))-U;
        [c]=solve(h1,c);
        ping1=num2str(w1);z=subs(c);
回复
分享到:

使用道具 举报

发表于 2007-4-17 11:17 | 显示全部楼层
change:

  1. ping1=num2str(w1);
复制代码


to:


  1. ping1=num2str(subs(w1));
复制代码


try it
 楼主| 发表于 2007-4-17 11:39 | 显示全部楼层
我的程序的一部分是

w1=1/sqrt(T1*T2+T2*T3+T1*T3);
ping1=num2str(w1);
if ping1=='Inf',
            set(findobj('tag','edit11'),'string','系统稳定,无自振');
            set(findobj('tag','edit12'),'string','');
        else set(findobj('tag','edit11'),'string',ping1);
            set(findobj('tag','edit12'),'string',z);
        end

之后显示错误
??? Error using ==> eq
Matrix dimensions must agree.

Error in ==> feixianxing>pushbutton3_Callback at 640
        if ping1=='Inf',

Error in ==> gui_mainfcn at 75
        feval(varargin{:});

Error in ==> feixianxing at 42
    gui_mainfcn(gui_State, varargin{:});

if ping1=='Inf' 用的不对?
发表于 2007-4-17 11:44 | 显示全部楼层
原帖由 jennychung 于 2007-4-17 11:39 发表
我的程序的一部分是

w1=1/sqrt(T1*T2+T2*T3+T1*T3);
ping1=num2str(w1);
if ping1=='Inf',
            set(findobj('tag','edit11'),'string','系统稳定,无自振');
            set(findobj('tag','edi ...


如果ping1是一个数,则用:

  1. if isinf(ping1)
复制代码


如果是一个字符串,则用:


  1. if strcmp(ping1, 'Inf')
复制代码

[ 本帖最后由 eight 于 2007-4-17 11:46 编辑 ]
 楼主| 发表于 2007-4-17 11:50 | 显示全部楼层
刚才第一个问题
我设断点在z=subs(c);
显示的错误是
??? Input argument "NEWexpr" is undefined.

Error in ==> sym.subs at 104
msg = inputchk(OLDf,OLDexpr,NEWexpr);

Error in ==> feixianxing>pushbutton3_Callback at 663
        z=subs(c);

Error in ==> gui_mainfcn at 75
        feval(varargin{:});

Error in ==> feixianxing at 42
    gui_mainfcn(gui_State, varargin{:});

那应该是z=subs(c);有问题?

[ 本帖最后由 jennychung 于 2007-4-17 11:56 编辑 ]
发表于 2007-4-17 11:53 | 显示全部楼层
原帖由 jennychung 于 2007-4-17 11:50 发表
不对啊
没起作用啊
还是显示Inf



不晓得你要做什么,我的代码运行如下,没有任何问题:


  1. >> isinf(1.2)
  2. ans =
  3.      0
  4. >> isinf(Inf)
  5. ans =
  6.      1
  7. >> num2str(Inf)
  8. ans =
  9. Inf
  10. >> strcmp(ans,'Inf')
  11. ans =
  12.      1
  13. >> strcmp(ans,'Inf')
  14. ans =
  15.      0

复制代码
 楼主| 发表于 2007-4-17 11:57 | 显示全部楼层
if strcmp(ping1, 'Inf')
这个对了
麻烦看一下这个问题
刚才第一个问题
我设断点在z=subs(c);
显示的错误是
??? Input argument "NEWexpr" is undefined.

Error in ==> sym.subs at 104
msg = inputchk(OLDf,OLDexpr,NEWexpr);

Error in ==> feixianxing>pushbutton3_Callback at 663
        z=subs(c);

Error in ==> gui_mainfcn at 75
        feval(varargin{:});

Error in ==> feixianxing at 42
    gui_mainfcn(gui_State, varargin{:});

那应该是z=subs(c);有问题?
发表于 2007-4-17 13:28 | 显示全部楼层
原帖由 jennychung 于 2007-4-17 11:57 发表
if strcmp(ping1, 'Inf')
这个对了
麻烦看一下这个问题
刚才第一个问题
我设断点在z=subs(c);
显示的错误是
??? Input argument "NEWexpr" is undefined.

Error in ==> sym.subs at 104
...



先 help solve 搞清楚 solve 函数的用法,另外,solve的结果如果有符号变量,是无法使用subs的

[ 本帖最后由 eight 于 2007-4-17 13:31 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-24 17:13 , Processed in 0.063316 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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