• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Matlab:导数边界值的有限元(Ritz)法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 1 tic;
 2 % this method is transform from Ritz method 
 3 %is used for solving two point BVP
 4 %this code was writen by HU.D.dong in February 11th 2017
 5 %MATLAB 7.0
 6 clear
 7 clc
 8 N=50;
 9 h=1/N;
10 X=0:h:1;
11 f=inline(\'pi^2/2*sin(pi/2*x)\');
12 %以下是右端向量;
13 for i=2:N
14     fun1=@(x) f(X(i-1)+h*x).*x+f(X(i)+h*x).*(1-x);
15 fi(i-1,1)=h*quad(fun1,0,1);
16 end
17 funN=@(x) f(X(N-1)+h*x).*x;
18 fi(N,1)=h*quad(funN,0,1);
19 %以下是stiff矩阵;
20 a11=1/h+pi^2*h/12;
21 aii=2*a11;
22 aij=-1/h+pi^2*h/24;
23 A=diag(aii*ones(N,1),0)+diag(aij*ones(N-1,1),1)+diag(aij*ones(N-1,1),-1);
24 A(N,N)=a11;
25 numerical_solution=A\fi;
26 numerical_solution=[0;numerical_solution];
27 %以下是真解;
28 for i=1:length(X)
29    Accurate_solution(i,1)=sin((pi*X(i))/2)/2 - cos((pi*X(i))/2)/2 + exp((pi*X(i))/2)*((exp(-(pi*X(i))/2)*cos((pi*X(i))/2))/2 + (exp(-(pi*X(i))/2)*sin((pi*X(i))/2))/2);
30 end 
31     grid on; 
32     subplot(1,2,1);
33      plot(X,numerical_solution,\'ro-\',X,Accurate_solution,\'b^:\');
34     title(\'Numerical solutions vs Accurate solutions\');
35     legend(\'Numerical_solution\',\'Accurate_solution\');
36     subplot(1,2,2);
37       plot(X,numerical_solution-Accurate_solution,\'b x\');
38     legend(\'error_solution\');
39     title(\'error\');
40     toc;

效果图:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
初学Delphi嵌入汇编[25]-在汇编中调用函数发布时间:2022-07-18
下一篇:
Delphi中stringlist分割字符串的用法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap