jennychung 发表于 2007-4-17 11:00

这个错误怎么回事?

这个错误什么意思啊?

??? 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;
      =solve(h1,c);
      ping1=num2str(w1);z=subs(c);

eight 发表于 2007-4-17 11:17

change:

ping1=num2str(w1);

to:


ping1=num2str(subs(w1));


try it

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','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' 用的不对?

eight 发表于 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是一个数,则用:

if isinf(ping1)

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


if strcmp(ping1, 'Inf')


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

jennychung 发表于 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 编辑 ]

eight 发表于 2007-4-17 11:53

原帖由 jennychung 于 2007-4-17 11:50 发表
不对啊
没起作用啊
还是显示Inf


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


>> isinf(1.2)
ans =
   0
>> isinf(Inf)
ans =
   1
>> num2str(Inf)
ans =
Inf
>> strcmp(ans,'Inf')
ans =
   1
>> strcmp(ans,'Inf')
ans =
   0

jennychung 发表于 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);有问题?

eight 发表于 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 编辑 ]
页: [1]
查看完整版本: 这个错误怎么回事?