Elementwise Multiplication of column of 3D-array with an 1D-array
Show older comments
Hi, I'm trying to multiply a column of an array with dimensions (3,5,3) with an 1D-array as follows:
B=rand(3,5,3);
k=0:2;
B(1,1,:).*k
Matlab tells me:
Error using .*
Matrix dimensions must agree.
However, the size of the column and the array is always 3. What's wrong with this expression?
Many thanks in advance.
Accepted Answer
More Answers (1)
the cyclist
on 3 Jun 2015
1 vote
B(1,1,:) is a 1x1x3 array, and k is a 1x3 array, which could be considered a 1x3x1. Those are not actually the same.
You can use the permute function to rearrange the dimensions to get what you want.
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!