hanihaoma 发表于 2009-3-19 00:15

如何给已经用syms 定义的参数 变量 赋值

如题 程序如下
    syms x y a b;
    f=x^2+y^3+x*(x*y-x)^(1/2)
    df_x=diff(f,x);
    df_y=diff(f,y);
    D=df_x*a+df_y*b;
    c=input('entre 1 or 2')
    if c==1
       x=2;y=4;
       a=input('a=?');
       b=input('b=?');
       DD=D/f
    end
    if c==2
       x=2;y=4;
       DD=D/f;
       figure(1)
       ezmeshc(DD,a,b);
    end

这个程序c==1时 , DD只显示公式含 变量 x,y。并没有把我在if 里赋的值代入公式算出具体值,为什么?
当 c==2时 , 我想画的是 DD,a,b 的三维关系图。但是也报错,错误如下:

??? Error using ==> ezgraph3 (ezplot3s)
Cannot plot in 4 dimensions

Error in ==> C:\MATLAB6p5\toolbox\matlab\specgraph\ezgraph3.m
On line 30==>    ezplot3s(Npts,f{:},domain,surfstyle,flabel,fargs,'st');

Error in ==> C:\MATLAB6p5\toolbox\matlab\specgraph\ezmeshc.m
On line 55==> ezgraph3('meshc',f,varargin{:});

Error in ==> C:\MATLAB6p5\toolbox\symbolic\@sym\ezmeshc.m
On line 53==>    ezmeshc(F,y,z,varargin{3:end});

Error in ==> C:\Documents and Settings\stagiaire\Bureau\simulation\hqhq.m
On line 18==>      ezmeshc(DD,a,b);

是不是也是因为带不进去 x y 的值引起的这个错误?
谢谢:@)

friendchj 发表于 2009-3-19 17:11

help subs

论坛发帖有最小长度限制了,呵呵

hanihaoma 发表于 2009-3-20 00:24

用syms 定义的变量,是不是就必须用  subs 才能带入值呢?

sogooda 发表于 2009-3-20 09:56

回复 板凳 hanihaoma 的帖子

subs是比较便捷的方式,如果非要其他的方法可能也有(现在想到的可以用feval或者eval),但是应该是比较麻烦的了。

[ 本帖最后由 sogooda 于 2009-3-20 09:57 编辑 ]

hanihaoma 发表于 2009-3-20 16:22

收到 ,谢谢啦。
页: [1]
查看完整版本: 如何给已经用syms 定义的参数 变量 赋值