Hi all!
Firstly, I am not exactly sure this is possible, so forgive me if I am asking a redundant question.
I have a series of objects that are same in structure, and I want to group them into an array to keep them together. However, upon initializing such an object with a function, it returns a 2-D matrix, and the program gives me an error: "Subscripted assignment dimension mismatch.". This is the code:
T(1) = makehgtform('translate', [1 1 0]);
T(2) = makehgtform('translate', [1 -1 0]);
T(3) = makehgtform('translate', [-1 1 0]);
T(4) = makehgtform('translate', [-1 -1 0]);
I hope you understand what I'm trying to do, and what the problem is.
Thanks in advance! :)

 Réponse acceptée

Stephen23
Stephen23 le 1 Oct 2017
Modifié(e) : Stephen23 le 1 Oct 2017

0 votes

Into a 3D array:
T = nan(4,4,N);
T(:,:,1) = makehgtform('translate', [1,1,0]);
T(:,:,2) = makehgtform('translate', [1,-1,0]);
etc
Or a cell array:
T = cell(1,N);
T{1} = makehgtform('translate', [1,1,0]);
T{2} = makehgtform('translate', [1,-1,0]);
etc
Where N is the number of matrices you will have.

3 commentaires

Filip Davidovic
Filip Davidovic le 1 Oct 2017
I get the exact same error.
Filip Davidovic
Filip Davidovic le 1 Oct 2017
I get the error: "Cell contents assignment to a non-cell array object.".
Stephen23
Stephen23 le 1 Oct 2017
@Filip Davidovic: you need to preallocate the matrix or cell array, as shown in my answer.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by