找回密码
 注册
Simdroid-非首页
查看: 55|回复: 2

请教:trapz积分的问题

[复制链接]
发表于 2011-12-3 11:03:41 | 显示全部楼层 |阅读模式 来自 美国
我有两个数组: X(1960000,31), Y(1960000,31)

做如下的积分:
Y(1,:) 对 X(1,:)进行积分
Y(2,:) 对 X(2,:)进行积分
:::::
Y(1960000,:) 对 X(1960000,:)进行积分

我用如下方法求的,通过循环。但是因为数组比较大,所以非常的慢。有没有什么方法可以一次性处理这种积分?或者其它的函数?
for i=1:size(X,1)
     Integral(i,1) = trapz(X(i,:),Y(i,:));
end

非常感谢!

发表于 2011-12-3 12:13:52 | 显示全部楼层 来自 北京
Simdroid开发平台
Integral预分配内存试试看。

  1. Integral = zeros(1960000,1);
  2. for i=1:size(X,1)
  3.      Integral(i,1) = trapz(X(i,:),Y(i,:));
  4. end

复制代码
回复 不支持

使用道具 举报

 楼主| 发表于 2011-12-3 14:04:24 | 显示全部楼层 来自 美国
非常感谢版主,预分配内存果然速度快了很多很多。
再次感谢!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-8 05:13 , Processed in 0.027581 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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