Brace indexing is not supported for variables of this type

2 ビュー (過去 30 日間)
Mos_bad
Mos_bad 2019 年 12 月 6 日
コメント済み: Jeremy 2019 年 12 月 6 日
Mu_s and Mu_d are cell. This if statement is part of a function which is called inside of a main for loop. I got the following error when execute the main script.
Brace indexing is not supported for variables of this type.
if Mu_s{scenario,i,j,k}<1.0 && Mu_d{scenario,i,j,k}<7.0
DS{scenario,i,j,k}=0; % no damage
elseif Mu_s{scenario,i,j,k}>1.0 && Mu_s{scenario,i,j,k}<2.0 && Mu_d{scenario,i,j,k}<7.0
DS{scenario,i,j,k}=1; % minor damage state
elseif Mu_s{scenario,i,j,k}>2.0 && Mu_s{scenario,i,j,k}<4.0 && Mu_d{scenario,i,j,k}<7.0
DS{scenario,i,j,k}=2; % moderate damage state
elseif Mu_s{scenario,i,j,k}>4.0 && Mu_s{scenario,i,j,k}<6.0 && Mu_d{scenario,i,j,k}<7.0
DS{scenario,i,j,k}=3; % major damage state
elseif Mu_s{scenario,i,j,k}>6.0 || Mu_d{scenario,i,j,k}>7.0
DS{scenario,i,j,k}=3; % collapse or complete damage state
end

回答 (1 件)

Jeremy
Jeremy 2019 年 12 月 6 日
Mu_s{:} < 1.0 && Mu_d{:} < 7.0
  2 件のコメント
Mos_bad
Mos_bad 2019 年 12 月 6 日
I just editted the question. I need a specific data (i.e. Mu_s{scenario,i,j,k}) of cell array to be considered as you may see in the code above.
Jeremy
Jeremy 2019 年 12 月 6 日
Indexing the cell with curly braces should pull the scalar value and allow you to get a logical result, unless the value contained within the cell is another cell array.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by