Brace indexing is not supported for variables of this type

1 Ansicht (letzte 30 Tage)
Mos_bad
Mos_bad am 6 Dez. 2019
Kommentiert: Jeremy am 6 Dez. 2019
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

Antworten (1)

Jeremy
Jeremy am 6 Dez. 2019
Mu_s{:} < 1.0 && Mu_d{:} < 7.0
  2 Kommentare
Mos_bad
Mos_bad am 6 Dez. 2019
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 am 6 Dez. 2019
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by