%符號變數的建立
clc;clear;
syms x y f(x,y) %多個符號變數sym要加s
f(x,y) = x + 2 * y
%在命令列視窗中如果直接輸入乙個沒有進行初始化的變數,會出現無法識別的情況。
%而使用符號函式就可以讓你在沒有賦值的情況下去引用乙個變數
f(1,3)
%輸出7
符號函式由於在運算的時候不需要對變數進行預賦值,會比較方便,同時,這也帶來了缺點:
1.計算以推理方式進行,因此不受計算誤差累積所帶來的困擾。
2.符號計算可以給出完全正確的封閉解,或任意精度的數值解(封閉解不存在時)。
3.符號計算指令的呼叫比較簡單,與數學教科書上的公式相近。
4.符號計算所需的執行時間相對較長。
(1)分解
clc;clear;
syms x y;
fun1 = x^3+3*x^2+3*x+1;
factor(fun1) % 因式分解
factor(100) % 將正整數按質因數分解
(2)展開
fun2 = (x - 2)*(x - 4);
expand(fun2) % 展開表示式
(3)合併
fun3 = x^2*y + y*x - x^2 + 2*x ;
collect(fun3,x) % (不加引數)按預設變數合併同類項
(4)化簡
fun4 = cos(3*acos(x));%有換元操作and和差化積,在matlab中一步到位
simplify(fun4) % 化簡表示式
**示例:對於數列
syms x;
f = x/(3*x+1);
limit(f,x,inf)
%ans=1/3
(1)左極限:limit(expr,x,a,『left』)
(2)右極限:
limit(expr,x,a,『right』)
(1)微分
1、求表示式:
分別對x,y,z的偏微分、對z的二階偏導以及全微分。
clc;clear;
syms x y z;
f1 = exp(x*sin(y))+log(z);
diff(f1,x) % 對x求偏微分
diff(f1,y) % 對y求偏微分
diff(f1,z) % 對z求偏微分
diff(f1,z,2) % 對z求二階偏微分
jacobian(f1,[x y z]) % 求全微分
結果就不po了
(2)積分
1、要求定積分還是要先求不定積分:
計算不定積分:
i=int(f,x)%統一的形式求不定積分,結果少了個常數!
2、計算定積分:
計算定積分:(泊松積分)
k=int(exp(-x^2),x,0,inf) %先填下限,再填上限
結果:
ps:對於k,是乙個超越積分,即你算不出k的原函式,可以用軟體去求解
**(1)梯形法
使用梯形法計算定積分
x = 0:pi/100:pi;
y = sin(x);
k = trapz(x,y)
ans=
(2)自適應辛普森法(simpson)(了解)
quad(fun,a,b) 已經淘汰
(3)自適應lobatto法(了解)
quadl(fun,a,b) 已經淘汰
(4)高斯-勒讓德積分法(了解)
quadgk(fun,a,b) 使用高階全域性自適應積分和預設誤 差容限在 a 至 b 間對函式控制代碼 fun 求積
分。
(5)integral函式(計算廣義積分,誤差比較小/最常用)
fun = @(x) exp(-x.^2).*log(x).^2; %匿名函式,自適應函式,不用去管函式的步長
q = integral(fun,0,inf) % 計算 x=0 至 x=inf 的積分。
(6)多重積分matlab支援計算三重及以下的積分。
clc;clear;
%建立匿名函式。
fun = @(x,y) 1./( sqrt(x + y) .* (1 + x + y).^2 );%這裡x、y是數值,點不點乘沒有關係,不過要養成良好習慣嘛。
ymax = @(x) 1 - x;
%對 0≤x≤1 和 0≤y≤1−x 限定的三角形區域計算積分。
matlab 雙括號 matlab學習 符號計算
1 符號物件的定義 2 計算精度和資料型別轉換 1 矩陣 matlab大部分矩陣和陣列運算子及指令都可以用於符號如 inv,eig等。2 符號函式計算 syms x y 定義符號變數x y f x y 3 g x y 3 h f g s1 expand h 將h展開 s2 subs s1,y,x 2...
數學工具(五)符號數學
本節介紹專用於符號計算的sympy 庫。包括 1.基本介紹 2.方程式 3.積分 4.微分 sympy 引人了 新的物件類。最基本的是symbol 類,import sympy as sy x sy.symbol x y sy.symbol y type x sympy.core.symbol.sy...
C語言學習筆記1 有符號數和無符號數
c語言中 signed關鍵字宣告變數為有符號型別 unsigned關鍵字宣告變數為無符號型別 注意 c語言中只有整數型別能夠宣告unsigne變數 有符號數 signed 在計算機內部用補碼表示有符號數 最高位為 0,表示這個數為正數 最高位為 1,表示這個數為負數正數的補碼為正數本身 負數的補碼為...