Two conditional operations can be used in matlab or do I need to use double if?
1 view (last 30 days)
Show older comments
for i = 1:length(beam_spalling.high)
if transversal(i) == 0 && ongitudinal == 0
severity_bs(i) = 2;
elseif transversal(i) == 0 && longitudinal > 0
severity_bs(i) = 3;
elseif transversal(i) > 0 && longitudinal == 0
severity_bs(i) = 3;
else transversal(i) > 0 && longitudinal > 0
severity_bs(i) = 4;
end
end
For the third conditional, could be used another loop to have one or another option?
2 Comments
Yongjian Feng
on 26 Jul 2021
For the third one, you meant this:
elseif transversal(i) > 0 && longitudinal == 0
It looks good. What do you want please?
Accepted Answer
Rik
on 26 Jul 2021
It looks like you could use a lookup table and skip the entire loop:
transversal=[0 1 0 1];longitudinal=[0 0 1 1];
LUT=[2 3;3 4];
[~,ind1]=find( [transversal(:)==0 transversal(:)>0 ] );
[~,ind2]=find( [longitudinal(:)==0 longitudinal(:)>0] );
severity_bs=LUT(sub2ind(size(LUT),ind1,ind2))
Note that you have a typo in your second line: it is missing an l.
0 Comments
More Answers (0)
See Also
Categories
Find more on Electrical Block Libraries in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!