
發布
注冊
/
登錄偏微分方程組求解
關注創建者:ABAQUS油氣有限元 創建時間:2019-08-21
偏微分方程組求解的視頻教程
Matlab求解常微分方程/偏微分方程/復雜邊值問題
本專題視頻是關于Matlab求解微分方程、偏微分方程、復雜邊界值問題的微分方程、橢圓形微分方程、雙曲線型微分方程、拋物線型微分方程、ode45、bvp4c、pdepe等內容!實際課程數不局限于7節課,會一直更新,把我科研過程中遇到的比較特殊有意思的微分方程求解案例做成課程分享給大家,而且包含所有案例的matlab源文件,方便大家下載學習!!!
¥59 1小時50分鐘 154播放
查看
偏微分方程組求解的實例教程
Scipy求解常微分方程組有scipy.integrate.solve_ivp和scipy.integrate.odeint,后者是較老的版本主要是采用 FORTRAN 的odepack庫里面的lsoda 方法,而前者是后面更新的函數,支持的方法也更多,按照官方的文檔介紹大致有如下的方法。
通常來說,求解一個系統的話采用常微分方程組去做。前面也有采用scipy進行了常微分方程組的求解簡單介紹,當然需要用到Python。其實完全可以不用任何代碼,只用一些simulink模塊以搭積木的形式完成這個過程,而且還會方便很多。下面就介紹一下相關的方法。
所用到的核心模塊其實就是integrate模塊,只需要啟動matlab打開simulink然后脫出一個該模塊就可以了。
首先以如下方程為例,假設初始值為0,求解區間為【0-10】
采用如下的方式搭建
simulink中的模塊求解的結果
當然這個有點簡單,來一個稍微復雜一點的
計算過程的模塊搭建如下
simulink中的模塊
計算結果如下
simulink中求解結果
當然完全完全可以求解更加復雜的問題,比如以下面的一個方程組為例
那么他的搭建模塊如下所示
方程組越大,則模塊會越復雜,一般可以把一部分單獨拿出來做一些封裝,然后把這個作為自己的模塊老使用,作為演示,我這里也有一個例子,就是pemfc燃料電池的例子,方程組的關系如下。
pemfc的系統所用到的方程
那么對應的模塊搭建如下,可見對于較大的模型搭建還是比較難得
展開 列主元三角分解法求解
enddo
write(*,*)"the solution of equation:"
write(*,"(es18.8)")x
end subroutine bicgstab
依據上述過程編寫程序,計算前述非對稱矩陣線性方程組求解結果:
采用matlab求解該方程組的解:
通過對比可知11次迭代已經獲得即為準確的結果。實際上,對于該方法也可以通過一定的預處理方式,使得其所需要的迭代次數更少。
以上,就是穩定雙共軛梯度法求解線性方程組的內容,感謝您的閱讀!
歡迎關注公眾號 有限元術
展開 摘要:方程組形式
有一個二階微分方程組:
[M]{D2X}+[K]{X}={0}
[M]--為對角矩陣n×n
[k]--為對稱矩陣n×n
程序:
% 有一個二階微分方程組:
% [M]{D2X}+[K]{X}={0}
% [M]--為對角矩陣n×n
% [k]--為對稱矩陣n×n
clear;clc;close all;
n=5;
rand('state',0);
% \copyright: zjliu
% Author's email: zjliu2001@163.com
M=rand(n);
K=rand(n);
Df=inline('[x(n+1:end,1);-inv(M)*K*x(1:n,1)]',...
't','x','flag','n','M','K');
[t,x]=ode45(Df,[0,10],rand(n,1),[],n,M,K);
plot(t,x(:,1:n));
for k=1:n;
eval(['Le',num2str(k),'=[''X',num2str(k),'''];']);
end
ss='Le1';
for k=2:n;
ss=[ss,',Le',num2str(k)];
end
eval(['legend(',ss,',0);']);
感謝蘿卜網友
展開 
偏微分方程組求解的相關專題、標簽、搜索
偏微分方程組求解的最新內容
一、背景
在工業仿真領域,對各種現實世界的問題進行數值模擬時,如流體動力學分析、電磁場仿真、結構力學應力應變分析等,其控制方程通常是偏微分方程組,在經過不同方法的隱式離散之后最終都可轉化為大型稀疏線性方程組。隨著人們對計算精度要求的不斷提高,方程組的階數也從上千階、幾十萬階提高到百萬、千萬階甚至更高,所需的計算量以及存儲需求也隨之迅速膨脹。根據一般經驗,方程組求解時間會占總計算時間的
對結構進行屈曲分析,涉及到較復雜的彈(塑)性理論和數學計算,要通過求 解高階偏微分方程組,才能求解失穩臨界荷載,而且只有少數簡單結構才能求得 精確的解析解。因此,只能采用能量法、數值方法和有限元方法等近似的分析方 法進行分析。近 20 年來,隨著計算機和有限元方法的迅猛發展,形成了許多的 實用分析程序,提高了對復雜結構進行屈曲分析的能力和設計水平。
要點
FDTD技術直接離散化麥克斯韋方程的時域偏微分形式。
頻域有限差分(FDFD)源自FDTD。
時域有限差分法是求解麥克斯韋方程組的最先進方法,尤其是在復雜幾何形狀中。
FDTD方法可以解決與天線相關的問題
我們經常使用基于電流、電荷和場變化產生的電場和磁場的電器或設備。為了以數學方式表達所產生的電場和磁場
偏微分方程理論屬于第一類理論基礎,對于研發來說,可能并不需要我們研究的太深,但是理解偏微分方程的特點卻能很好的幫助求解器開發:目前大部分偏微分方程都為二階,即最高偏導兩次,在構造形函數時,二階多項式性價比往往最好;在多物理場耦合仿真中,往往首先需要明確不同物理場構成的偏微分方程組,偏微分方程組的強耦合求解仍然是世界難題,實際工程中一般使用弱耦合求解。
想求解一個微分方程,用dsolve得到的結果是下邊這樣,看不懂,向各位大神求救!
syms v(z) a g L b
%a=1;g=1;L=1;b=1;
eqn=(diff(v,z)+g/v+b*v==a/(z*v*sqrt(L^2+z^2)));
dsolve(eqn)
ans =
(exp(-2*b*z)*(C1 + 2*int(-exp(2*b*z
對于工業軟件研發尤其是CAE軟件研發來說,線性方程組的求解精度和速度較為重要,在方程組規模上來以后,以Krylov子空間為基礎的PCG,Bicgstab,Gmres等方法相對于直接法在求解效率和精度控制上有較大優勢。這也是abaqus等商業軟件在對于規模較大的模型時采用迭代法求解通常會比直接法求解更快的其中一個原因。
以自由度數為41w的如下分布的稀疏矩陣為例
每一種物理場都可以用若干模型和方程來描述,當涉及到多個物理場時,還要建立耦合模型,構成偏微分方程組再進行求解。
這些現實客觀世界的建模所設立的方程通常為偏微分方程,從這一點來說,偏微分方程是人類用來描述客觀世界的工具,而CAE仿真軟件就是要通過計算機科學技術來實現對客觀世界的建模、求解、結果展示以及優化設計。
CAE軟件從產品角度來看有三個重要的組成部分,分別是前處理器、求解器和后處理器。
如果有一種算法或者軟件能直接對這些偏微分方程組進行求解,對科學研究與工程計算進程的推進將是巨大的。
而多物理場問題的求解,其難度也是巨大的。在實際求解多物理場耦合問題時,需要考慮不同的耦合關系。根據耦合的相互作用關系,可以把耦合關系分為雙向耦合和單向耦合。物理場A通過邊界條件或源項對物理場B產生作用,而物理場B對A不產生作用,或其影響可被忽略,稱這種耦合是單向耦合。
在前面的文章和中表明共軛梯度法是求解對稱正定線性方程組的一種有效方法,當針對不同的系數矩陣采用不同的預處理方式時,其可以以較少的迭代次數獲得較高精度的解。然而,該方法的一個缺點就是其只能適用于對稱正定系數矩陣,當系數矩陣不再是對稱正定時,此方法可能失效。
以下舉例:
上面矩陣A為非對稱矩陣,采用共軛梯度法求解過程如下:
該方程組采用共軛梯度法迭代
軌道、軌道板振動微分方程matlab求解位移程序代碼?
求軌道、軌道板振動微分方程matlab求解位移程序代碼,使用傅里葉變換方法求解。有償

