Double sigma with exception case

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?

 Accepted Answer

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

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Release

R2020a

Community Treasure Hunt

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

Start Hunting!