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! :)

 Akzeptierte Antwort

Stephen23
Stephen23 am 1 Okt. 2017
Bearbeitet: Stephen23 am 1 Okt. 2017

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by