Multiplying arrays to add a dimenstion
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I have a big array which represents a vector field on a surface. It's dimensions are 3xNxN. I would like to project that surface forward along these vectors, along a distance of M. So I'd like to multiply the arrays M by 3xNxN to wind up with a new array that's Mx3xNxN. I've tried a bunch of different kinds of multiplication. Do I have to give each array an extra dimension of 1? I think I could do it then, but I don't know of an easy way to add a dimension of length 1.
I know how to do this with a loop. I was hoping that there is some faster/easier way to do it with matrix operations.
2 commentaires
James Tursa
le 29 Juil 2020
What does "project along a distance of M" mean? Do you have an M-element vector that you are multiplying by? Or ...?
Réponses (1)
Walter Roberson
le 29 Juil 2020
permute(TheArray, [4 1 2 3]) .* TheVector(:)
The result will be numel(TheVector) by size(TheArray,1) by size(TheArray,2) by size(TheArray,3)
0 commentaires
Voir également
Catégories
En savoir plus sur Linear Algebra dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!