一维有限元法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实习三、一维问题的有限元方法
一)实习问题:

~
1()u x e e u -=--令 将原问题的边界条件齐次化 二)算法描述:
1,单元剖分
(1,2,,)i i n e =L 2,i=1 ~~
00A b == 3,计算数值积分:()()()()()()1,11,,1,1,,,,,i i i i i i i i i i i i i i i i a a a a b b -----即得单元上的i i A b
4,将i i
A b 迭加到总的~~
A b 中
5,若i<=n,则i=i+1并转到底三步;否则继续下一步
6,根据边界条件调整~~A b (掐头去尾),即得 A 和b
7,解线性方程组Au=b,得u 从而的h u 三)matlab 程序:
问题M 文件:
function [y1]=f1(x,h)
y1=h*(1/6*(-24*exp(x+h)*h-3*h^2*exp(1)*x+48*exp(x+h)-24*exp(x+h)*x-h^3*exp(1)+3*h^2*exp(-1)*x+h^3*exp(-1)+24*exp(x)*h*x-48*exp(x)-24*exp(x)*h+24*x*exp(x))/h^2);
function [y2]=f2(x,h)
y2=h*(1/6*(48*exp(x+h)*h-24*exp(x+h)*h^2-24*exp(x+h)*x*h-3*h^2*exp(1)*x+3*h^2*exp(-1)*x-2*h^3*exp(
1)+2*h^3*exp(-1)+24*exp(x+h)*x-48*exp(x+h)-24*x*exp(x)+48*exp(x))/h^2);
主M 文件:
function []=yiweiyouxianyuan(n)
%对x 的随机剖分及区间长度的计算
l=abs(rand(1,n-1));
for i=1:n-1
for j=(i+1):n-1
if l(i)>l(j)
l2=l(i);
l(i)=l(j);
l(j)=l2;
end
end
end
for i=1:n-1
x(i+1)=l(i);
end
x(1)=0;x(n+1)=1;
for i=1:n
h(i)=x(i+1)-x(i);
end
%一次区间元法
%A的求解
for i=1:n
a(i,1)=1/h(i)+h(i)/3;
a(i,2)=-1/h(i)+h(i)/6;
a(i,3)=a(i,2);
a(i,4)=a(i,1);
end
for i=1:n-1
A(i,i)=a(i,4)+a(i+1,1);
end
for i=1:n-2
A(i,i+1)=a(i+1,2);
end
for i=2:n-1
A(i,i-1)=a(i,3);
end
%b的求解
for i=2:n+1
b1(i,i-1)=f1(x(i-1),h(i-1));
b1(i,i)=f2(x(i-1),h(i-1));
end
for i=2:n
b2(i)=b1(i,i)+b1(i+1,i);
end
for i=1:n-1
b(i)=b2(i+1);
end
u=inv(A)*b' ;
for i=2:n
un(i)=u(i-1);
end
un(1)=0;un(n+1)=0;
%还原原始的u值
uz=un'+x'*(exp(1)-exp(-1));
uz
%真解的求解
for i=1:n+1
u1(i)=exp(x(i))-exp(-x(i))+x(i)*x(i)*exp(x(i))-x(i)*exp(x(i)); end
u1'
%误差的计算
for i=1:n+1
e(i)=abs((uz(i)-u1(i))/u1(i)*100);
end
e'
%作图
subplot(1,2,1)
plot(x,u1)
xlabel('自变量x的范围');ylabel('函数值u的取值');title('真解的图象');grid
subplot(1,2,2)
plot(x,uz)
xlabel('自变量x的范围');ylabel('函数值u的取值');title('有限元法算得的近似解的图象');grid
四)图形显示的计算结果:
将区间随机分(利用rand函数)为20份的计算结果:
图1:预测值与真实值的作图比较
表1:预测值与真实值的数值比较
真实值预测值误差(%)
0 0 0.0000
0.0135 0.0135 0.0726
0.0336 0.0336 0.0725
0.1816 0.1815 0.0657
0.3492 0.3490 0.0515
0.4117 0.4115 0.0465
0.5460 0.5458 0.0377
0.6646 0.6644 0.0316
0.7315 0.7313 0.0287
0.8268 0.8266 0.0254
0.8753 0.8751 0.0240
0.8782 0.8780 0.0239
1.0941 1.0939 0.0181
1.3256 1.3254 0.0128
1.3551 1.3549 0.0122
1.5269 1.5268 0.0092
1.8253 1.8252 0.0050
1.9963 1.9963 0.0030
2.0204 2.0203 0.0027
2.1529 2.1529 0.0015
2.3504 2.3504 0.0000
分析:从图1与表1中可以看出,预测值与真实值极其的接近,其误差最大值是0.0726%,所以,该有限元方法对此题的近似进度相当的高,可以作为求值的近似。

相关文档
最新文档