J'ai une expression qui donne une matrice et je veux accéder à un élément, sans créer de variable temporaire, quelque chose comme cov(M)(1,1)
. Comment puis-je le faire?MATLAB expression de colonne d'expression
Merci!
J'ai une expression qui donne une matrice et je veux accéder à un élément, sans créer de variable temporaire, quelque chose comme cov(M)(1,1)
. Comment puis-je le faire?MATLAB expression de colonne d'expression
Merci!
J'ai une fonction comme ça dans mon chemin:
getRegion = @(matrix, rows, cols) matrix(rows,cols);
alors que je peux alors appeler:
getRegion(cov(M), 1, 1);
Il fonctionnerait également si vous vouliez une région plus vaste:
getRegion(cov(M), 1:2, 2);
Il est possible d'utiliser les fonctions anonymes:
>> f11 = @(M) M(1,1);
>> M = [1 2; 9 4];
>> cov(M)
ans =
32 8
8 2
>> f11(cov(M))
ans =
32
Ou pour les puristes, ici il est sans variables intermédiaires du tout:
>> feval(@(M) M(1,1), cov(M))
ans =
32
solution Nice, mais dans votre déclaration feval envisager de modifier le paramètre à un nom différent de « M » pour plus de clarté. – Geoff
belle solution .. – yassin