1.syms x--標明變數x是乙個符號變數
2.solve(y,x)--求y=0時,x的取值,預設的自變數為x
)1.解單個方程(係數已知):
>> syms s
>> y = s*sin(s)-s;
>> solve(y,s)
ans =
0pi/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.xa.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(),傳入連續符號函式的話,就是求導
>> 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,,)
>> subs(s,,)
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
(matlab系列)非線性方程求根
非線性方程在5次以上的時候沒有求根公式 根據高等代數的阿貝爾群的概念得知 所以直接求解比較麻煩,需要借助解析幾何的工具,結合圖形採用特殊的方法求解 逼近法。主要有二分法 迭代法 包括牛頓迭代和割線法 逼近法的本質就是先給乙個估計值 近似值 作為方程解,然後對這個估計值一步一步地修正,使得它越來越像真...
線性方程求根
c 版 1.二分法 include include include include includeusing namespace std int num 100 5 多項式係數 int n double ep double a,b double getval double k while abs b...
非線性方程求根
假設本金為2000元,分2個月還,每個月還1100,月利率為x,則 2000 1 x c 1 x c 0,令f x 2000 1 x c 1 x c,當f x 0時,說明月利率太高了 當f x 0時說明月利率正確 當f x 0時,月利率過低。結果要求輸出三位小數。include include in...