Is it possible to do multi index command in one line?
40 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
yoohooo's
am 28 Apr. 2021
Kommentiert: Steven Lord
am 28 Apr. 2021
For example, if I want to get number of columns in an array I would have to do the following:
A = [1 2; 3 4];
mySize = size(A);
myCol = mySize(2);
It adds 2 lines and an extra variable in my code. Is it possible to put them in one line like:
myCol = size(A)(2);
Somthing similar to this because this is not the correct syntax.
Thank you very much!
0 Kommentare
Akzeptierte Antwort
Matt J
am 28 Apr. 2021
Bearbeitet: Matt J
am 28 Apr. 2021
Not in general, but in the case of your example there is a shorter syntax,
myCol=size(A,2)
2 Kommentare
Steven Lord
am 28 Apr. 2021
For some definition of "one line" it is. Write a function:
A = [1 2 3; 4 5 6];
sz = size(A) % for checking
y = getElement(size(A), 2) % The one line
But this has a drawback that the shorter syntax doesn't.
size(A, 3) % A has trailing singleton dimensions
y2 = getElement(size(A), 3)
function y = getElement(x, whichone)
y = x(whichone);
end
Weitere Antworten (2)
Matt J
am 28 Apr. 2021
An approximation of this can be enabled through some incredibly convoluted OOP methods
It's not worth it...
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing 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!