声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1111|回复: 0

[编程技巧] 继续!如何提升matlab积分速度!望赐教。

[复制链接]
发表于 2008-9-18 12:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我在“感慨了,matlab数值积分速度太慢”那个帖子最后等待大家讨论,却发现没人来,无奈重开一贴 ,望版主勿删。  
       在发“感慨了,matlab数值积分速度太慢”这个帖子之前,我就已经用了quadv这个命令并进行了一系列比较,并不是像sigma665版主想的是“解决问题之后回来分享经验”,问题一直没有解决,我觉得速度还是慢,所以希望各位高手能够帮忙想想办法。      
       我的问题共有两个:
       1)下面这的式子子函数中的被积分函数,其中c、beta1为1*n的向量,a、a1、beta为变量,整个式子其实是个n*n的矩阵,主程序通过循环把各个变量传递给子程序进行quadv积分计算,n取值一般为10~15之间,当计算量很大时(循环比较大),profile发现主要占用时间产生自匿名函数ff的定义上(或者解析?),quadv命令反而没有占用那么多时间,这个有没有什么办法解决?
[email=ff=@(x)sin((c).*pi.*x./a).]ff=@(x)sin((c).*pi.*x./a).'*sin((c).*pi.*(x+a1/2-a/2)/a1).*(2.*sqrt(beta.'*(1./beta1))./sqrt(a.*a1[/email]));

        2)二重积分有没有quadv类似的命令或者类似的方法呢??如果没有,那么可以想见如果加上优化算法,整个程序会多慢了。
请大家指点!

[ 本帖最后由 jojocleo 于 2008-9-18 13:02 编辑 ]
新图片.PNG

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-26 01:49 , Processed in 0.070974 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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