源代码见文末
部分源代码:
1 % 符号变量 两种表达方式
2 a=sym('a');
3 class(a);
4
5 syms b;
6 b;
7
8 % 符号常量
9 c=sym('3');
10 c;
11 % 符号表达式 三种表达方式
12 f1='3*x+4'; % char类型,但是可以参与运算。所以这种形式是可以直接用的,比较方便
13
14 syms x
15 f2=3*x+4; % sym类型
16
17 f3=sym('3*y+4'); % sym类型
18
19 % 符号四则运算
20 fadd1 = f1 + f2;
21 fmu1 = f1*f2;
22
23 % 符号表达式的化解
24 syms x y
25 s = (x^2+y^2)^2 + (x^2-y^2)^2;
26 simplify(s);
27
28 % 符号表达式和数值的转换
29 eval(c);
30 syms; % 上面已经涉及到
31
32 % 因式分解、展开与合并同类项
33
34 syms a b x y
35 f1=a^3-b^3;
36 factor(f1);
37
38 f2=(3*x^2+8*y^2)*(-x^2+3*y);
39 expand(f2)
40
41 f3 = 2*x+3*x+4*x+y;
42 collect(f3)
43
44 % 符号矩阵
45 a1=[x x+y;y x+y];
46 a1
47 transpose(a1) % 转置
48
49 % 符号函数值的求解
50 syms x
51 f1 = x^3 -9;
52 subs(f1,3)
53
54 % 符号极限、符号微分、符号积分
55 syms x
56 y=sin(x);
57 limit(y,0)
58
59 y1 = x^2;
60 diff(y1) % 求导、微分
61 diff(y1,2) % 二阶导数
62
63 y3=(3-x^2)^3;
64 int(y3) % 不定积分
65
66 y4=abs(1-x);
67 int(y4,1,2) % 定积分1-2范围内
68
69 %%符号方程求解
70 %代数方程
71 clear
72 syms x
73 solve(x+x*exp(x)-10);
74
75 solve('x+x*exp(x)-10') % 和前面的符号表达式方法联系起来了
76 eval(solve('x+x*exp(x)-10')) % 这是数值的表达结果
77
78 %方程组
79 [x,y] = solve('x+y=10','x-y=2','x,y') % 输出x和y的值
80
81 % 符号的微分方程
82 dsolve('Dy-(x^2+y^2)/x^2/2','x') % 微分方程组合上面的方程组道理一样