源代码见文末
部分源代码:
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') % 微分方程组合上面的方程组道理一样