符号积分怎么进行循环啊?
我想实现一个符号积分的循环。将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 编辑 ] 注意*与.*的用法? 是啊,我注意了,出现同样的提示。
现在我用最笨的方法做出来了,就是一个点一个点地算,好在点不多。只有几十个。那成百上万个的话,怎么办? KK4(i)=int(G(i)*S,t,(i-1)*0.01,i*0.01);
如果S为矩阵的话,kk4(i)也要是矩阵,但是KK4(i)只是一个数值,所以错误. 是你说的这样的问题。那要不要先给KK4赋值,成一个矩阵的形式,再回去试试。
回复 #4 雨路的梦 的帖子
syms tts=0:0.01:2;
n=length(ts); %整个区间中的点数
S=sin(t)+1;
KK4=[];
for i=1:n
G(i)=i;
KK4=;
end
这样子形成的KK4的每一行就是你要的积分结果。 请教fiefeifool,他这个s试举真时用3维矩阵不行吗,比如KK4(:,:,i)=int(G(i)*S,t,(i-1)*0.01,i*0.01);
我在家呆着,电脑上没有matlab,自己实践不了。
[ 本帖最后由 buaalqq 于 2006-8-6 21:31 编辑 ]
回复 #6 feifeifool 的帖子
没有那个必要啊,不是么! 看不太懂!!
页:
[1]