MATLAB 双重累加求和的问题

2024-11-28 14:54:14
推荐回答(4个)
回答1:

sum=0
for i=-(N-1)/2:(N-1)/2
for j=-(M-1)/2:(M-1)/2
E=[(x-0.04i)²+(0.04j)²+0.3²]^-42;
sum=sum+E;
end
end
最终输出结果是sum

回答2:

一维数组的话直接sum(b)
二维数组要叠加所有元素用sum(b(:))
要叠加行或列用sum(b,1)或sum(b,2)
----------------
∑∑bibj这一项,如果b是行向量的话可以用
sum(sum(b'*b))
或者
bb=b'*b;sum(b(:))
列向量的话吧b'*b换成b*b'

回答3:

代码如下:
>> clear;
>> M=7;N=7;E=0;
>> syms x;
for n=-(N-1)/2:(N-1)/2
for I=-(M-1)/2:(M-1)/2
E=((x-0.04*n)^2+(0.04*I)^2+0.09)^(-42);
end
end
E

执行结果
E =

1/((x - 3/25)^2 + 261/2500)^42

回答4:

sum=0
for
i=-(N-1)/2:(N-1)/2
for
j=-(M-1)/2:(M-1)/2
E=[(x-0.04i)²+(0.04j)²+0.3²]^-42;
sum=sum+E;
end
end
最终输出结果是sum