nested if else statements
显示 更早的评论
Can someone write an example of a nested if else statement? matlab keeps underlining the 'else' when I try to write a nested 'if else' statement telling me the syntax is wrong.
Also, where do I put the 'end' for each of the 'if else' statements?
6 个评论
Jan
2013-7-25
It would be more useful, if you show us your failing code, such that we can suggest a precisely matching solution.
Simone Kolb
2016-10-5
you're probably missing "end" to close the conditional
Rohit Bhagwat
2017-3-1
Yes I have rechecked it many times, the number of 'if' and 'else' statements are perfectly matching, still it shows that one of the if statements does not find a end
Walter Roberson
2017-3-1
Rohit, it is difficult for us to give an informed opinion without seeing the file in question.
BISHMITA SHARMA
2017-8-21
May be u are writing the expression in the next line after 'ifelse' try writing it in the same line... because there will be only one 'end', for the first 'if'
Jan
2017-8-21
@BISHMITA SHARMA: I assume the problem is solved already, because this thread was written 4 years ago.
采纳的回答
更多回答(4 个)
Nathan Crosty
2013-7-25
编辑:Nathan Crosty
2013-7-25
this = 222;
that = 111;
if this == 333
disp('this')
elseif that == 444
disp('that')
else
this = 555;
if this == 222
disp('this')
else
disp('that')
end
end
1 个评论
Because the nested if statement contained within the else segment of the the outer statement has no option for "false" values, this would be more clear to display with an if/elseif statement rather than the nested version. Might be a bit misleading to use it as an example.
Sohrab Abedini
2015-12-27
编辑:Sohrab Abedini
2015-12-27
0 个投票
The examples were great. However, I could not still find a solution to this problem of mine: I don't know how to write it in matlab code->
if n=4 then -> c=2, d=3 or c=3 , d=2.
I wondering if writing "or" is acceptable in result statement. it seems wrong but I have to do it somehow. --- The actual problem is changing a 2nd rank Tensor to a 4th rank tensor through Voigt mapping. which is quite easy vise versa and so difficult in this way. I might be able to solve it if I understand to write "or" or sth like that in if statement.
Nava Subedi
2016-11-26
编辑:Stephen23
2016-11-26
Can someone help me to what is wrong with my code:
function [l, m, n] = sort3([a b c])
if a>=b && a>=c
if b>=c
l = c;
elseif b<=c
l = b;
else l = a;
end
elseif b>=a && b>=c
if a>=c
m = c;
elseif a<=c
m = a;
else m = b;
end
else c>=a && c>=b
if a>=b
n = b;
elseif a<=b
n = a;
else n = c;
end
end
I am trying to write nested if statement.
1 个评论
This is not MATLAB syntax:
function [l, m, n] = sort3([a b c])
It looks like you are trying to write Python, or something similar. The correct MATLAB syntax is shown in the online beginners tutorials, the documentation, and lots of online forums:
function [l, m, n] = sort3(a, b, c)
Anyone can read the MATLAB documentation for free. It explains how MATLAB works:
Jobin Geevarghese Thampi
2022-4-30
0 个投票
what is the wrong with this code?. It is supposed to give 22
2 个评论
Jobin Geevarghese Thampi
2022-4-30

Walter Roberson
2022-4-30
You are showing us the file prac.m but matlab is not going to know to look inside prac.m for the function summa() . You are getting some other summa() function.
类别
在 帮助中心 和 File Exchange 中查找有关 Scripts 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!