Operands to the || and && operators must be convertible to logical scalar values.

14 次查看(过去 30 天)
Dear All The code that I am working with is separated to sections with function command. After running the code with input parameters this error occurs. (Operands to the and && operators must be convertible to logical scalar values) However, when I insert the values of the parameters inside the code, then running it , I found it is running. I don't want to insert the parameters values in the code directly ,I want to feed the parameters as input as follow: WaRa(1, 9.81, 0.017, 0, 8.8, 15.2, 1, 1, 0, 0, 2, 4, 0, 36.9, 15.2) any suggestion please?
  2 个评论
sailaja
sailaja 2025-5-9
Operands to the logical AND (&&) and OR (||) operators must be convertible to logical
scalar values. Use the ANY or ALL functions to reduce operands to logical scalar
values.
Error in defcx (line 50)
if klb<=0 || klb>max(LMI_var(1,:)),
Error in minrao (line 105)
[Q_valj, Qbar_valj,eps_valj,eps_bar_valj] = defcx(lmis, j, Q_val, Qbar_val,eps_val, eps_bar_val);
Walter Roberson
Walter Roberson 2025-5-9
编辑:Walter Roberson 2025-5-9

klb might be empty, or non-scalar. In turn one of the "val" variables might be empty or non-scalar

请先登录,再进行评论。

采纳的回答

Thomas
Thomas 2012-4-18
try using
| and &
instead of
|| and &&
since the && is the Short-circuit logical AND while the & operator is element wise logical and.. which might be what you need.. Cannot say with certainty without looking at the code..

更多回答(1 个)

Bestun
Bestun 2012-4-18
Dear Thomas As you suggested , when I run it again, now it asking me about the value of the variable (a). As I explained in the previous message , I don't want to insert the parameters in the code directly. I want to inter their values as input: here is a part of my code: if (flag ==0 ||flag ==1) global rw a Yw rd rsat; dlor(rw, a, Yw, rd, rsat,xmax, ymax, edgeA, edgeB, edgeC, edgeD, cohesion, phiDegs, unitWeight); else if (flag ==2) runtests (68.198, 0.5, 0.3, 0.2, 0.7, 1.2, 0.750821238038765, 1.077, 9.81, 0.00001, 8.8, 15.2, 2); end end dlor is a separate function . In dlro values of rw, a, Yw, rd, rsat are required . However, the code is stopped at dlor line (showing above )asking for (a) value.
How can I solve this problem with out inserting the parameter values in the code directly? Do you think , the error is because of using ( global rw a Yw rd rsat;)?

类别

Help CenterFile Exchange 中查找有关 Logical (Boolean) Operations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by