微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有限元一维

如何解决有限元一维

我目前正在用 P1 有限元 1D 研究这个问题

$$
\begin{equation}
\left (\mathcal P\right ) \quad \begin{cases}\label{P}
-u''(x) = f(x),\quad \text{sur} \quad I = ]0,1[\\
u'(0) = 1 \\
u(1) = 0
\end{cases}
\end{equation}
$$

哪里

$$
f(x) = H\left(x-\frac{1}{2} \right),\quad \text{H = Heaviside function}
$$

我使用的程序:

n=100;
h=1/(n-1);

A=zeros(n,n);

for i=1:n-1
A(i,i+1)=-(1/h);
A(i+1,i)=-(1/h);
A(i,i)=(2/h);
end
A(n,n) = (2/h);
A

%simpson
B=zeros(n,1);
for i=2:n-1
B(i)=(h/3.)*( heaviside((i-1)*h-1/2) + heaviside( (2*i-3)*(h/2.)-1/2 ) + heaviside( (2*i-1)*(h/2.)-1/2));
;
end
B(1)=((h/6)*(heaviside(0-1/2)+2*heaviside(h/2-1/2)))-1;
B(n)=(h/6)*(heaviside((n-3/2)*h)+2*heaviside((n-1)*h-1/2));
B;

U=inv(A)*B

figure (1)
x=[0:h:1];
plot (x,U)

这个问题的解决方法应该是
(-1/8 (2 x - 1)^2 θ(x - 1/2) - +x - 7/8) 如这里所示:https://www.wolframalpha.com/input/?i=%7B-u%27%27%28x%29+%3D+%CE%B8%28x+-+1%2F2%29%2C+u%27%280%29+%3D+1%2C+u%281%29+%3D+0%7D

程序给了我

enter image description here

但它不像确切的解决方

enter image description here

我通过这个程序得到的:

close all
clc
clear all

n = 100;
L = 1;
h=L/(n-1);
y = linspace(0,L,n)
exact = [];

for i = 1:n 
    x = (i-1)*h;
    if x<1/2
        exact(i) = x - 7/8;
    else
        exact(i) = (-1/8)*(2*x-1)^2 + x - 7/8;
    end

end
plot(y,exact)

不知道为什么

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。