Clear Filters
Clear Filters

Error In finding a variable inside a nested loop..

1 view (last 30 days)
I am getting an error of "Operands to the || and && operators must be convertible to logical scalar values". Here, I need to plot figure(2), figure(3). i don't understand how to solve this. Any help is very much appreciated. I am attachhing my code here.
  2 Comments
KSSV
KSSV on 7 May 2020
When code is run, it says undefined variable m.
satish kumar
satish kumar on 7 May 2020
Thanks again KSSV for the respone man. I just forgot to remove that 'm' . i don't need 'm' for now. I see an error in if conditional statement in the nested loop. i am updating my code here again. could you just check it.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 7 May 2020
The code you posted cannot encounter that error unless you uncomment some code. If you do uncomment, then
elseif lambdat(:,:) > 0.34522 pi/2 - lambdam pi/2 + lambdam 0.34522 < lambdat(:,:) &&
What would be the intent of that code? MATLAB would parse it like
elseif lambdat(:,:) > 0.34522
pi/2 - lambdam
pi/2 + lambdam
0.34522 < lambdat(:,:) &&
complete with an error because the statement is not finished on the line.
Your lambdat is a non-scalar. When you test a non-scalar in an if or elseif the condition is only considered true if all of the values are non-zero . So if some of the lambdat values are > 0.34522 but not all of them are, then the condition would fail.
You should probably be using logical indexing, or else using a loop so you are only testing one value at a time.

More Answers (0)

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!