Fortran Coder

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

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

[复制链接]

28

帖子

8

主题

0

精华

熟手

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

我用两个程序验证了这个等式,但是结果不一样。
[Visual Basic] 纯文本查看 复制代码
clear all
circletend=401;
circlewend=101;
tend=50;
for circlew=1:circlewend; 
      w0(circlew)=-50+2*50/(circlewend-1)*(circlew-1);
      w=w0(circlew);
      s=0;
     for circlet=1:circletend-1;    
      t0(circlet)=tend/(circletend-1)*(circlet-1);
      t10(circlet)=tend/(circletend-1)*(circlet);
      t=t0(circlet);
      t1=t10(circlet);
      s=s+0.5*(expm(-i*w*t)*expm(-2*t)+expm(-i*w*t1)*expm(-2*t1))*tend/(circletend-1);
     end
     ss(circlew)=s;
end

figure(18);hold on; plot(w0,ss,'g-');xlabel('','fontsize',16),ylabel('','fontsize',16);

clear all
circletend=1001;
circlewend=1001;

for circlew=1:circlewend; 
      w0(circlew)=-50+2*50/(circlewend-1)*(circlew-1);
      w=w0(circlew);
      ss(circlew)=1/(2+i*w);
end
figure(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, 2024-4-23 22:48

Powered by Tencent X3.4

© 2013-2024 Tencent

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