:Or紹了有限元法的本質特征及用變分試函數法和殘值試函數法導出有限元法的過程,給出了在Matlab 語言環境下實現有限元法的步驟.利用Matlab語言中的PDE工具箱求解偏微分方程具有簡便、快速、可視化 程度高等優點,能滿足精度要求,并以一個工程實例說明了利用有限元法求解偏微分方程從而解決實際問題 的方法.
上傳時間: 2017-08-25
上傳用戶:四只眼
有限元求解柏松方程。本文采用FORTRAN語言編制程序。程序中大部分變量采用有名公共區存儲方式存儲,這樣可以減少內存占用量。 IFG:生成有限元網格信息,即元素節點局部編碼與總體編碼對照表,節點實際坐標,邊界節點編碼與邊界點上的已知值 GKD:生成總剛一維存儲對角元的地址,計算總剛一維存儲長度 FIXP:設置已知節點函數值 GK(NI,NJ,ADJ,AIJ):單元剛度矩陣計算 GF(NI,N,M,LE,YI,FE):單元列陣的計算 AK(I,J,AIJ):總剛度矩陣元素迭加 QEB:總剛度矩陣和總列陣合成 BDE:邊界條件處理 SOLGS:Gauss-Seidel迭代法求解方程組 UDIFF(NI,NFLAG,UDIF,LE,ADJ):標準元素內形狀函數導數計算 DIFF:節點上 , 加權平均
上傳時間: 2017-09-12
上傳用戶:erkuizhang
有限元求解柏松方程。本文采用FORTRAN語言編制程序。程序中大部分變量采用有名公共區存儲方式存儲,這樣可以減少內存占用量。 IFG:生成有限元網格信息,即元素節點局部編碼與總體編碼對照表,節點實際坐標,邊界節點編碼與邊界點上的已知值 GKD:生成總剛一維存儲對角元的地址,計算總剛一維存儲長度 FIXP:設置已知節點函數值 GK(NI,NJ,ADJ,AIJ):單元剛度矩陣計算 GF(NI,N,M,LE,YI,FE):單元列陣的計算 AK(I,J,AIJ):總剛度矩陣元素迭加 QEB:總剛度矩陣和總列陣合成 BDE:邊界條件處理 SOLGS:Gauss-Seidel迭代法求解方程組 UDIFF(NI,NFLAG,UDIF,LE,ADJ):標準元素內形狀函數導數計算 DIFF:節點上 , 加權平均
上傳時間: 2017-09-12
上傳用戶:問題問題
matlab變成,實現高斯消元法求解線性方程組
標簽: 高斯
上傳時間: 2016-12-27
上傳用戶:42211
利用前代法求解下三角方程的Ax=b問題。
上傳時間: 2017-11-20
上傳用戶:zenghongrui
module M_GAUSS !高斯列主元消去法模塊 contains subroutine LINEQ(A,B,X,N) !高斯列主元消去法 implicit real*8(A-Z) integer::I,K,N integer::ID_MAX !主元素標號 real*8::A(N,N),B(N),X(N) real*8::AUP(N,N),BUP(N) !A,B為增廣矩陣 real*8::AB(N,N+1) real*8::VTEMP1(N+1),VTEMP2(N+1) AB(1:N,1:N)=A AB(:,N+1)=B
標簽: fortan Newton 程序 數值分析 方程 非線性
上傳時間: 2018-06-15
上傳用戶:answer123
function [alpha,N,U]=youxianchafen2(r1,r2,up,under,num,deta) %[alpha,N,U]=youxianchafen2(a,r1,r2,up,under,num,deta) %該函數用有限差分法求解有兩種介質的正方形區域的二維拉普拉斯方程的數值解 %函數返回迭代因子、迭代次數以及迭代完成后所求區域內網格節點處的值 %a為正方形求解區域的邊長 %r1,r2分別表示兩種介質的電導率 %up,under分別為上下邊界值 %num表示將區域每邊的網格剖分個數 %deta為迭代過程中所允許的相對誤差限 n=num+1; %每邊節點數 U(n,n)=0; %節點處數值矩陣 N=0; %迭代次數初值 alpha=2/(1+sin(pi/num));%超松弛迭代因子 k=r1/r2; %兩介質電導率之比 U(1,1:n)=up; %求解區域上邊界第一類邊界條件 U(n,1:n)=under; %求解區域下邊界第一類邊界條件 U(2:num,1)=0;U(2:num,n)=0; for i=2:num U(i,2:num)=up-(up-under)/num*(i-1);%采用線性賦值對上下邊界之間的節點賦迭代初值 end G=1; while G>0 %迭代條件:不滿足相對誤差限要求的節點數目G不為零 Un=U; %完成第n次迭代后所有節點處的值 G=0; %每完成一次迭代將不滿足相對誤差限要求的節點數目歸零 for j=1:n for i=2:num U1=U(i,j); %第n次迭代時網格節點處的值 if j==1 %第n+1次迭代左邊界第二類邊界條件 U(i,j)=1/4*(2*U(i,j+1)+U(i-1,j)+U(i+1,j)); end if (j>1)&&(j U2=1/4*(U(i,j+1)+ U(i-1,j)+ U(i,j-1)+ U(i+1,j)); U(i,j)=U1+alpha*(U2-U1); %引入超松弛迭代因子后的網格節點處的值 end if i==n+1-j %第n+1次迭代兩介質分界面(與網格對角線重合)第二類邊界條件 U(i,j)=1/4*(2/(1+k)*(U(i,j+1)+U(i+1,j))+2*k/(1+k)*(U(i-1,j)+U(i,j-1))); end if j==n %第n+1次迭代右邊界第二類邊界條件 U(i,n)=1/4*(2*U(i,j-1)+U(i-1,j)+U(i+1,j)); end end end N=N+1 %顯示迭代次數 Un1=U; %完成第n+1次迭代后所有節點處的值 err=abs((Un1-Un)./Un1);%第n+1次迭代與第n次迭代所有節點值的相對誤差 err(1,1:n)=0; %上邊界節點相對誤差置零 err(n,1:n)=0; %下邊界節點相對誤差置零 G=sum(sum(err>deta))%顯示每次迭代后不滿足相對誤差限要求的節點數目G end
標簽: 有限差分
上傳時間: 2018-07-13
上傳用戶:Kemin
用歐拉法、四階龍格庫塔法、預估校正法求解連續系統的一階微分方程
上傳時間: 2020-06-30
上傳用戶:LouisT
利用matlab編寫newmark方法,可以求解瞬態動力學方程
上傳時間: 2021-06-10
上傳用戶:xiaowu1
隨著無刷直流電機在工業控制和家用電器等領域中的應用越來越廣泛,其傳統的帶位置傳感器無刷直流電機控制呈現出越來越多的局限性,由此,無位置傳感器控制便應運而生,特別是“反電勢”法無位置傳感器控制逐漸受到了人們的青睞,并成為無刷直流電機控制系統的研究熱點及發展主流。 論文在詳細介紹了無刷直流電機的運行原理及數學模型的基礎上,對反電勢過零檢測法無位置傳感器控制的原理以及過零檢測電路的設計進行了詳細的分析和研究。由于在零速或低速時電機反電勢為零或很小,基于反電勢的控制方法都需要特殊的起動技術,本文在分析常有起動方法的優缺點的基礎上,提出了一種新的起動方法一轉子位置閉環起動法,該起動方法包括轉子零初始位置檢測、轉子位置閉環加速以及切換至反電勢法運行三個步驟,并通過仿真和實驗證明,與傳統的三段式起動方法相比,該起動方法具有更優良的起動性能。同時,本文還對反電勢法無位置傳感器控制的檢測誤差及干擾影響進行了系統的理論分析,并提出了相應的誤差補償及干擾抑制措施。 最后,確立了以MC56F805為核心的無刷直流電機無位置傳感器控制系統的硬件系統,搭建了相應的硬件實驗平臺。在Codewarrior集成開發環境下完成了整個無刷直流電機無位置傳感器控制系統的軟件設計。實驗證明,所研制的試驗軟硬件平臺能很好地完成無刷直流電機無位置傳感器控制功能,控制系統結構簡單、響應快速、可靠性高。
上傳時間: 2013-07-21
上傳用戶:小眼睛LSL