Double sigma with exception case

3 次查看(过去 30 天)
I just tried to coding that. but I can not find out how to make double sigma with exception case.
j=/=i means that if j is equal to i, pass that case.
for i=1:3
for j=1:3
if i~=j
phi(i,j)=(((1+(mu(i)/mu(j))))^(1/2)*((M(i)/M(j))^(1/4)))^2/(2*sqrt(2)*(1+(M(i)/M(j)))^(1/2));
phi_sig(i,j)=phi(i,j).*(y(j)/y(i));
else j=j+1;
end
end
phi_sum(i)=sum(phi_sig,'all');
mu_mix(i)=mu(i)./(1+phi_sum(i));
end
mu_sum=sum(mu_mix,'all');
This is original equation for phi.
I tried like this. is it right direction?

采纳的回答

Joseph Cheng
Joseph Cheng 2021-6-8
编辑:Joseph Cheng 2021-6-8
in your nested forloop you can put a check in for if j==i then continue. you do have a check up there with i~=j which should work but you can get rid of the j=j+1 since the for loop will increment j anyways.
for i = 1:4
for j = 1:4
if j==i
continue
else
disp(sprintf('i= %i and j= %i',i,j))
end
end
end
i= 1 and j= 2 i= 1 and j= 3 i= 1 and j= 4 i= 2 and j= 1 i= 2 and j= 3 i= 2 and j= 4 i= 3 and j= 1 i= 3 and j= 2 i= 3 and j= 4 i= 4 and j= 1 i= 4 and j= 2 i= 4 and j= 3

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by