Brace indexing is not supported for variables of this type

2 vues (au cours des 30 derniers jours)
Mos_bad
Mos_bad le 6 Déc 2019
Commenté : Jeremy le 6 Déc 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

Réponses (1)

Jeremy
Jeremy le 6 Déc 2019
Mu_s{:} < 1.0 && Mu_d{:} < 7.0
  2 commentaires
Mos_bad
Mos_bad le 6 Déc 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 le 6 Déc 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by