常常需要求解各類微分方程,而許多微分方程的解析解一般很難得到,使用有限元法將微分方程離散化後,可以編制程式,使用計算機輔助求解。有限元法在早期是以變分原理為基礎發展起來的,所以它廣泛地應用於以拉普拉斯方程和泊松方程所描述的各類物理場中(這類場與泛函的極值問題有著緊密的聯絡)。
求解eit技術的正問題背景:圓形被測物,16個電極排列。
%利用網格劃分工具箱將圓形分為多個三角形,並標記節點座標與三角形單元編號。儲存為txt檔案為tri_in1.txt。
網格劃分工具箱請看鏈結
這裡寫鏈結內容
然後讀取文字的資訊,%總結點數,單元數,受約束點數%coord結點座標陣列 lnods 單元定義陣列 通過assemble函式astif=assemble(npoin,nelem,young,poiss,thick,coord,lnods)呼叫單元剛度矩陣函式[estif,smatx]=formestif(i,coord,lnods)%i為當前所計算的單元號獲得剛度矩陣的整合。
%變數說明2008.11.10
%npoin nelem nvfix
%總結點數,單元數,受約束點數
%coord結點座標陣列 lnods 單元定義陣列
%force?結點力陣列(n,3) n:受力結點數,(n,1):作用結點號,(n,2):x方向,(n,3):y方向
%fixed?約束資訊陣列(n,3) n:受約束結點數, (n,1):約束結點號,
%(n,2)與(n,3):約束點x方向和y方向的約束情況,受約束為1,否則為0
%astif總剛度矩陣,aslod總荷載向量
% format short e %設定輸出型別
clear
fp1=fopen('tri_in1.txt','rt');
%開啟資料檔案 fp1資料檔案指標
%讀入初始資料
npoin=fscanf(fp1,'%d',1);
nelem=fscanf(fp1,'%d',1);nforce=fscanf(fp1,'%d',1);nvfix=fscanf(fp1,'%d',1);
young=fscanf(fp1,'%e',1);poiss=fscanf(fp1,'%f',1);thick=fscanf(fp1,'%f',1);
lnods=fscanf(fp1,'%f',[3,nelem])';%單元定義陣列
coord=fscanf(fp1,'
%f',[2,npoin])';%結點座標陣列
force=fscanf(fp1,'%d',[3,nforce])';%結點力陣列
fixed=fscanf(fp1,'
%d',[3,inf])';%?約束陣列
astif=assemble(npoin,nelem,young,poiss,thick,coord,lnods);%?生成總剛
m=fix(npoin/4);%m輸入電流節點
n=fix(npoin/3);c=fix(npoin/2);%n輸出電流節點
astif(1:c-1,c)=0;
astif(c+1,c)=0;
astif(c,c)=1;%c參考電勢為0
b=zeros(npoin,1);
b(m,1)=1;
b(n,1)=-1;
[q1,q2,q3,q4]=gaus(astif,b);
scatter(coord(:,1),coord(:,2),5,q4);%散點圖
[x,y,z]=griddata(coord(:,1),coord(:,2),q4,linspace(-1,1,100)',linspace(-1,1,100),'
v4');
figure(1)
contourf(x,y,z,20); %等值線圖
% figure(2)
% pcolor(x,y,z);shading interp%偽彩色圖
figure(3)
surf(x,y,z);%三維曲面
figure(4)
scatter(coord(:,1),coord(:,2),5,q4);%散點圖
fclose(fp1);%?關閉檔案
有限元法 有限差分法 有限體積法
有限元法也叫有限單元法 finite element method,fem 是隨著電子計算機的發展而迅速發展起來的一種彈性力學問題的數值求解方法。五十年代初,它首先應用於連續體力學領域 飛機結構靜 動態特性分析中,用以求得結構的變形 應力 固有頻率以及振型。由於這種方法的有效性,有限單元法的應用已從...
有限元法,有限差分法和有限體積法的區別
原文 有限差分方法 fdm 是計算機數值模擬最早採用的方法,至今仍被廣泛運用。該方法將 求解域劃分為差分網格,用有限個網格節點代替連續的求解域。有限差分法以taylor級 數展開等方法,把控制方程中的導數用網格節點上的函式值的差商代替進行離散,從而 建立以網格節點上的值為未知數的代數方程組。該方法是...
有限元法,有限差分法和有限體積法的區別
有限差分方法 fdm 是計算機數值模擬最早採用的方法,至今仍被廣泛運用。該方法將求解域劃分為差分網格,用有限個網格節點代替連續的求解域。有限差分法以taylor級數展開等方法,把控制方程中的導數用網格節點上的函式值的差商代替進行離散,從而建立以網格節點上的值為未知數的代數方程組。該方法是一種直接將微...