1.syms x--标明变量x是一个符号变量
2.solve(y,x)--求y=0时,x的取值,默认的自变量为x
)1.解单个方程(系数已知):
>> syms s
>> y = s*sin(s)-s;
>> solve(y,s)
ans =
0
pi/2
>> y = cos(s).^2 - sin(s).^2
>> solve(y)
ans =
pi/4
)2.解联立方程(系数已知):
syms x y;
fun1 = x - 2*y - 5;
fun2 = x + y - 6;
A = solve(fun1,fun2,x,y);
A.x
A.y
ans = 17/3
ans =1/3
)3.解单个方程(系数未知):
>> syms a b x;
>> y = a*x.^2 - b;
>> solve(y)
ans =
b^(1/2)/a^(1/2)
-b^(1/2)/a^(1/2)
)4.将别的参数当成自变量,在solve中设置
>> syms x y a b r
z = (x - a)^2 +(y - b)^2 - r^2;
solve(z,a)
ans =
x + (b + r - y)^(1/2)*(r - b + y)^(1/2)
x - (b + r - y)^(1/2)*(r - b + y)^(1/2)
3.syms,diff--求微分
若diff(),括号里的元素为向量,那么前一个减后一个即为diff后的结果;
若diff(),括号里的元素为矩阵,那么下一行减上一行即为diff 后的结果;
若diff(),传入连续符号函数的话,就是求导
>> syms x
>> y = 4*x^5;
>> yprime = diff(y)
yprime =20*x^4
4.subs()替换函数
)1.将变量x替换为数值1: subs(S,x,1)
>> syms x y z
>> s = x^2+y;
>> subs(s,x,1)
ans = y + 1
)2.将变量x替换为变量z: subs(S,x,z)
>> subs(s,x,z)
ans =z^2 + y
)3.同时将变量x和y分别替换为1和z:subs(S,{x,y},{1,z})
>> subs(s,{x,y},{1,z})
ans =z + 1
)4.将单变量替换为数组:subs(S,x,[1 2;3 4])
>> subs(s,x,[1 2;3 4])
ans =
[ y + 1, y + 4]
[ y + 9, y + 16]
5.int(f,v,a,b)--求符号函数的定积分,其中,a、b分别表示定积分的下限和上限。
)1.求x^2e^x的不定积分
>> syms x;
>> y = x^2*exp(x);
>> z = int(y)
z =exp(x)*(x^2 - 2*x + 2)
>> z = z-subs(z,x,0)---减去x=0的情况
z =exp(x)*(x^2 - 2*x + 2) - 2
)2.求(x^2-x+2)/(x+3) 下限为0,上限为10的定积分
>> z = (x^2 - x + 1)/(x + 3);
>> int(z,0,10)
ans =log(302875106592253/1594323) + 10
6. @(x)(函数体)-- 用@设定匿名函数
fsolve来求解
)1.求解单个方程组
>> f = @(x)(1.2*x+0.3+x*sin(x));
>> fsolve(f,0)---0为初始值,随便写。
ans = -0.3500
)2.求解多个联立的方程组--利用x(n)来表示不同的变量
>>f=@(x)[2*x(1)-x(2)-exp(-x(1));-x(1)+2*x(2)-exp(-x(2))];
x0=[-5;-5];
[x,fval]=fsolve(f,x0);
7.root() 求解多项式的解
f(x) = x^3 - 6*x^2 - 12*x + 81
>> a = [1 -6 -12 81];
>> roots(a)
ans =
-3.5969
5.5097
4.0872