声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1593|回复: 8

[编程技巧] 符号积分怎么进行循环啊?

[复制链接]
发表于 2006-7-27 06:25 | 显示全部楼层 |阅读模式

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

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

x
我想实现一个符号积分的循环。将0-t分成n个区间,步长为dt。而

K(i)=int(S*G(i),t,(i-1)*dt,i*dt)     %i=1,2,3...n

即在每个时间段中分别积分(0-dt , dt-2dt ,2dt-3dt ,...(n-1)dt-ndt),因为被积函数中有一项G(i)的值与具体的每个积分区间的位置有关。G(i)为单个的数,S为矩阵。
当S不是矩阵时,我这样做可以,但是矩阵时就不行了,提示出错。

syms t
ts=0:0.01:2;
n=length(ts);         %  整个区间中的点数
S=sin(t)+1;
for i=1:n
    G(i)=i;
    KK4(i)=int(G(i)*S,t,(i-1)*0.01,i*0.01);
end
如果S是矩阵时,怎么才能实现循环呢?谢谢指点。

[ 本帖最后由 cdwxg 于 2006-7-27 20:22 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-8-1 15:07 | 显示全部楼层
注意*与.*的用法?
 楼主| 发表于 2006-8-3 06:56 | 显示全部楼层
是啊,我注意了,出现同样的提示。
现在我用最笨的方法做出来了,就是一个点一个点地算,好在点不多。只有几十个。那成百上万个的话,怎么办?
发表于 2006-8-3 09:14 | 显示全部楼层
KK4(i)=int(G(i)*S,t,(i-1)*0.01,i*0.01);
如果S为矩阵的话,kk4(i)也要是矩阵,但是KK4(i)只是一个数值,所以错误.
 楼主| 发表于 2006-8-3 17:24 | 显示全部楼层
是你说的这样的问题。那要不要先给KK4赋值,成一个矩阵的形式,再回去试试。
发表于 2006-8-5 12:33 | 显示全部楼层

回复 #4 雨路的梦 的帖子

syms t
ts=0:0.01:2;
n=length(ts);         %  整个区间中的点数
S=sin(t)+1;
KK4=[];
for i=1:n
    G(i)=i;
    KK4=[KK4;int(G(i)*S,t,(i-1)*0.01,i*0.01)];
end
这样子形成的KK4的每一行就是你要的积分结果。

评分

1

查看全部评分

发表于 2006-8-6 21:26 | 显示全部楼层
请教fiefeifool,他这个s试举真时用3维矩阵不行吗,比如KK4(:,:,i)=int(G(i)*S,t,(i-1)*0.01,i*0.01);
我在家呆着,电脑上没有matlab,自己实践不了。

[ 本帖最后由 buaalqq 于 2006-8-6 21:31 编辑 ]
发表于 2006-8-7 12:31 | 显示全部楼层

回复 #6 feifeifool 的帖子

没有那个必要啊,不是么!
发表于 2006-8-7 17:45 | 显示全部楼层
看不太懂!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 07:45 , Processed in 0.069509 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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