matlab 4.14笔记 第二章

P38

1. syms是定义符号变量 sym是将字符或者数字转换为字符(??

2.书上例程symvar,应为我的版本是7.0的,所以用findsym,  列出自由变量

   EXPR =a*(p*q^(1/2)+r*sin(t))*u+(b*x^2+3)*v;

   findsym(EXPR)   ans =a, b, p, q, r, t, u, v, x;      findsym(EXPR,5)    ans =x,v,u,t,r

3.solve    Eq =u*w^2+z*w-v;    findsym(Eq,4)  ans =w,z,v,u    

solve(Eq)  ans =
1/2/u*(-z+(z^2+4*u*v)^(1/2))

1/2/u*(-z-(z^2+4*u*v)^(1/2))   (此时默认是对自变量w求解)

如果要对 解关于z的表达式,则solve(Eq,z)  ans =-(u*w^2-v)/w

4. simplify 简化函数形式,simplify(w^2+8+9) ;ans =w^2+17

5.subs() 函数表示将符号表达式中的某些符号变量替换为指定的新的变量,常用调用方式为:
     R = subs(S, new) 利用new的值代替符号表达式S中的默认符号。
     R = subs(S) 用由调用函数或Matlab工作空间中获取的值替代了在符号表达式S中的所有当前的变量。

扫描二维码关注公众号,回复: 927880 查看本文章

     R = subs(S, old, new) 利用new的值代替符号表达式中old的值。

subs(Eq,s1)   ans=u*(u*w^2-v)^2/w^2-z*(u*w^2-v)/w-v
subs(Eq,z,s1) ans =0

subs(Eq) ans =u*w^2+z*w-v

    也可以求函数值:

已知f2(x)=(sinx)^3+2sinx+3,利用subs求x=[3 6 5]时的f2


6. A=[a+b*x,sin(t);x*exp(-t),log(y)+v]

A =
[     a+b*x,    sin(t)]

[ x*exp(-t),  log(y)+v]


>> A(2,2)         ans = log(y)+v
>> solve(A(2,2))  ans =1/exp(v)

>> solve(A(2,1))  ans =0

7.class,isa class(Mn) ans=char; isa(Mn,'char') ans=1;

8.

>> a=1;b=2;c=3;d=4;

>> Mn=[a,b;c,d]
Mn =
     1     2
     3     4
>> Mc='[a,b;c,d]'
Mc =

[a,b;c,d]

>> Ms=sym(Mc)
Ms =
[ a, b]

[ c, d]

>> whos Mn Mc Ms
  Name      Size                    Bytes  Class
  Mc        1x9                        18  char array
  Mn        2x2                        32  double array
  Ms        2x2                       312  sym object

Grand total is 21 elements using 362 bytes


 



猜你喜欢

转载自blog.csdn.net/mcuwangzai/article/details/79944464