Fortran Coder

查看: 4767|回复: 1
打印 上一主题 下一主题

[微积分] 求助一matlab程序的算法问题,请对matlab有研究的大神帮助

[复制链接]

28

帖子

8

主题

0

精华

熟手

F 币
144 元
贡献
85 点
跳转到指定楼层
楼主
发表于 2017-5-24 09:40:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

我用两个程序验证了这个等式,但是结果不一样。
[Visual Basic] 纯文本查看 复制代码
01clear all
02circletend=401;
03circlewend=101;
04tend=50;
05for circlew=1:circlewend;
06      w0(circlew)=-50+2*50/(circlewend-1)*(circlew-1);
07      w=w0(circlew);
08      s=0;
09     for circlet=1:circletend-1;   
10      t0(circlet)=tend/(circletend-1)*(circlet-1);
11      t10(circlet)=tend/(circletend-1)*(circlet);
12      t=t0(circlet);
13      t1=t10(circlet);
14      s=s+0.5*(expm(-i*w*t)*expm(-2*t)+expm(-i*w*t1)*expm(-2*t1))*tend/(circletend-1);
15     end
16     ss(circlew)=s;
17end
18 
19figure(18);hold on; plot(w0,ss,'g-');xlabel('','fontsize',16),ylabel('','fontsize',16);
20 
21clear all
22circletend=1001;
23circlewend=1001;
24 
25for circlew=1:circlewend;
26      w0(circlew)=-50+2*50/(circlewend-1)*(circlew-1);
27      w=w0(circlew);
28      ss(circlew)=1/(2+i*w);
29end
30figure(18);hold on; plot(w0,ss,'b-');xlabel('','fontsize',16),ylabel('','fontsize',16); 

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1

帖子

0

主题

0

精华

入门

F 币
47 元
贡献
21 点
沙发
发表于 2017-6-16 10:53:17 | 只看该作者
数值积分要注意积分的步长以及收敛性,梯形积分的精度一般,减小dt,提高t上限
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2025-4-6 21:03

Powered by Discuz! X3.4

© 2013-2025 Comsenz Inc.

快速回复 返回顶部 返回列表