What is wrong with my code

1 次查看(过去 30 天)
The error message shown is :
Operands to the and && operators must be convertible to logical scalar values.
Error in MainCode>cal_for_tune (line 412)
%----------FIXING THE MAX TIP HEIGHT-----------------------------------------------
My code near that line :
line 411 % ----------------------------------------------------------------------------------
line 412 % ----------FIXING THE MAX TIP HEIGHT-----------------------------------------------
line 413 if((TH_max1 >= 0.4) && (TH_max2 >= 0.4) && (TH_max3 >= 0.4))
BM_Lvr1_max_adj = lim_up_down(10*abs(TH_max1-0.4),0,3);
BM_Lvr2_max_adj = lim_up_down(10*abs((TH_max2+TH_max3)/2-0.4),0,3);
  1 个评论
Rahul agarwal
Rahul agarwal 2016-6-29
the conditions you are checking in the Line 413 is not able to give logical scalar values, check the class of TH_max1, TH_max2, TH_max3. it should be array, not cell.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2016-6-29
One of your TH_max* variables is empty or is not a scalar. When you use && then the results of each individual test must be a scalar.

更多回答(1 个)

Jan Orwat
Jan Orwat 2016-6-29
Are TH_max1:3 scalars, vectors or arrays? && and may be used only with scalars. Try:
if(all(TH_max1(:) >= 0.4) && all(TH_max2(:) >= 0.4) && all(TH_max3(:) >= 0.4))

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by