高等數學是解析解,matlab求數值解。
向前差分函式diff()
,計算向量元素間差分。呼叫方法:
可用牛頓-萊布尼茨公式計算。若無法求原函式,可用matlab實現:
其中filename為被積函式名,被積函式可用函式控制代碼形式,a,b為定積分上下限,tol控制積分精度預設為e-6。trace控制是否展現積分過程,預設trace-0不展現。返回引數i為定積分的值,n為被積函式的呼叫次數。
基於梯形積分法:i=trapz(x,y)
,y=f(x).x和y為向量。
多重積分:
直接法:以矩陣初等變換為基礎,可以求得方程組的精確解,占用的記憶體空間大,一般適合求解低階稠密線性方程組。
迭代解法:給定初值,逐步逼近,占用空間小,程式設計簡單,適用於大型稀疏矩陣線性方程組,要考慮演算法收斂性。
單變數非線性方程求解:x=fzero(filename,x0)
,x0為迭代初始值。需作圖檢驗。
非線性方程組求解:x=fsolve(filename,x0,option)
無約束最優化問題:x1,x2為左右區間,x0為初值
有約束最優化問題:變數在滿足某約束條件下的最優化,約束條件有線性\非線性不等式\等式約束,x的上下界。求解函式:
[xmin,fmin]=fmincon(filename,x0,a,b,aeq,beq,lbnd,ubnd,nonf,option)
aeq
,beq
,lbnd
,ubnd
分別為線性不等式、線性等式、上下界約束,不存在用空矩陣表示。
凡含有引數,未知函式和未知函式導數 (或微分) 的方程,稱為微分方程,有時簡稱為方程,未知函式是一元函式的微分方程稱作常微分方程,未知函式是多元函式的微分方程稱作偏微分方程。微分方程**現的未知函式最高端導數的階數,稱為微分方程的階。數學理論參考:csdn: 常微分方程 筆記
dsolve('eqn1','eqn2',...,'cond1','cond2',...,'var')
函式:dsolve函式用於求常微分方程組的精確解,也稱為常微分方程的符號解。如果沒有初始條件或邊界條件,則求出通解;如果有,則求出特解。eqni表示方程,condi表示初值,var表示微分方程中的自變數,系統預設為t。d為微分符號,d2表示二階微分,d3表示三階微分。使用參考:matlab求解常微分方程(組)—dsolve、ode系列函式詳解(含例程)、matlab中微分方程的求解
常微分方程數值求解一般函式呼叫格式為[t,y]=solver(filename,tspan,y0,option)
。t和y分別為列向量時間點和相應的數值解,filename為定義為f(t,y)且返回列向量的函式名,tspan為[t0,tf]表示求解區間,y0是初始狀態向量,option為可選引數(相對誤差、絕對誤差等)。
常微分方程數值求解函式的統一命名格式:odennxx。ode是ordinary differential equation縮寫,nn是階數數字,xx是演算法的專門特徵。
f=@(t,y)(y^2-t-2)/(4*(t+1));
[t,y]=ode23(f,[0,10],2);
y = deval(sol,x)
和y = deval(x,sol)
可以計算x
中包含的點處的微分方程結構體sol問題的解。
對於高階方程需要轉化為一階常微分方程組,即狀態方程。參考matlab求解常微分方程(組)—dsolve、ode系列函式詳解(含例程)
系統的時間響應曲線是個啥???看不懂
相平面圖:對於如下形式的二階系統: 式中x是狀態變數,可以是輸出量,也可以不是輸出量;它的解析函式,可以是線性的,也可以是非線性。若以 x(t)為橫座標,x』(t) 為縱座標的直角座標平面,由所有相軌跡組成的曲線族構成的圖稱為相平面圖。
剛性問題:有一類常微分方程,其解的分量有的變化很快,有的變化很慢,且相差懸殊,這就是剛性問題(stiff),非剛性方法計算較慢。選擇以s結尾的函式,如ode15s。
求解器solver
功能說明
ode45
一步演算法:4、5階龍格庫塔方程:累計截斷誤差(δx)^5
大部分嘗試的首選演算法
ode23
一步演算法:2、3階龍格庫塔方程:累計截斷誤差(δx)^3
適用於精度較低的情形
ode23t
梯形演算法
適度剛性情形
ode15s
多步法:gear』s反向數值微分:精度中等
若ode45失效時,可以嘗試使用
lotka-volterra模型模擬:
plot(y(:,1),y(:,2))%相平面圖
Matlab 數值微積分與方程求解
專題六 數值微積分與方程求解 目錄 一 數值微分與數值積分 1.數值微分 2.數值積分 二 線性方程組求解 先說差分。差分可以分為向前差分,向後差分和中心差分。三者分別如下表述 matlab提供了求向前差分的函式diff,其呼叫格式有3種 舉個例子 求向量 1,34,54,32,56,78 的一階向...
數值微積分與方程求解(一)
目錄 數值微分的實現 數值積分的實現 matlab提供了求向前差分的函式diff,其呼叫格式有三種 dx diff x 計算向量x的向前差分,dx i x i 1 x i i 1,2,n 1。dx diff x,n 計算向量x的n階向前差分。例如,diff x,2 diff diff x dx di...
MATLAB 6 數值微積分與方程求解
目錄 6.1數值微分與數值積分 6.2線性方程求解 6.3非線性方程求解與函式極值計算 6.4常微分方程數值求解 dx diff x 計算向量x的向前差分,dx i x i 1 x i dx diff x,n 計算向量x的n階向前差分 dx diff a,n,dim 計算矩陣的n階差分,dim 1時...