Error_Unable to perform assignment because brace indexing is not supported for variables of this type
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tooba Jawwad
le 4 Août 2021
Commenté : Tooba Jawwad
le 7 Août 2021
I am keep getting an error: Unable to perform assignment because brace indexing is not supported for variables of this type.
Can someone please help me out to resolve the error?
for i = 1:size(platemap,1)
S = zeros(size(platemap,1));
G = zeros(size(platemap,1));
[S{i,1},G{i,1}] = cellcyclestages('f',Data{i,1},params,opts);
end
Thank You
2 commentaires
Réponse acceptée
Image Analyst
le 5 Août 2021
What is Data? Hopefully it's a 2-D cell array. Or at least a 1-D cell array.
What does the cellcyclestages() function return? Two scalars? If so you don't need cell arrays. Vectors whose length may change from one iteration to the next? If so, then you need cell arrays.
See the FAQ for a nice discussion of cell arrays:
Try
numValues = size(platemap,1);
S = cell(1, numValues);
G = cell(1, numValues);
for k = 1 : numValues
[S{k}, G{k}] = cellcyclestages('f', Data{k,1}, params, opts);
end
Plus de réponses (1)
Walter Roberson
le 5 Août 2021
Repaired code, no loop.
i = size(platemap,1);
[S{i,1}, G{i,1}] = cellcyclestages('f',Data{i,1},params,opts);
You do not need a loop because your existing code overwrites all of S and G every iteration of the loop, so your code only remembers what was done on the last iteration; so you might as well not any other iterations.
The recommended code would have been different if you were not overwriting all of S and G every iteration.
Voir également
Catégories
En savoir plus sur Data Types 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!