Wenn ich ein bestimmtes Element einer Matrix zugreifen möchten, verwende ich die Indizierung mit Klammern:Wie indexiert man eine temporäre Matrix?
m = calc_stuff(...);
x = m(index1, index2);
Allerdings möchte ich zu oft tun, dass in einer Zeile Code, wie folgt aus:
x = calc_stuff(...)(index1, index2);
Wie kann ich es ausdrücken?
Ein konkretes Beispiel:
m = cumsum(rand(10,4));
x = m(10, 1);
Das obige Skript berechnet einige Summen von Zufallsvariablen, und ich nehme dann ein Beispiel Wert aus der Ergebnismatrix.
Wie könnte ich es als eine Zeile schreiben? Die folgende funktioniert nicht:
x = cumsum(rand(10,4))(10, 1);
Error:()-indexing must appear last in an index expression.
Hier habe ich eine allgemeine Syntax wollen, die für eine Berechnung anwendbar ist, nicht notwendigerweise denen Zufallsvariablen.
Octave ermöglicht dies, aber in Matlab müssen Sie 'subsref' verwenden. Unter @Sardar_Usama finden Sie eine vollständige Erklärung –