Matrix calculation and powers
显示 更早的评论
Hello, Is there a way to elevate each element of a 2D matrix to several powers at once (without using a loop) ? The result should be a 3D matrix where each "layer" corresponds to the initial data matrix elevated to a certain power.

rawValues=[7 3 7 9 4 2 5 5;5 2 3 10 2 2 4 3;2 6 7 7 8 10 6 5];
nRow=size(rawValues,1);
powerMatrix = repmat(1:5,nRow,1);
powerVector=1:5;
d3Matrix= zeros(nRow,8,5);
d3Matrix(:,:,1)=rawValues.^powerVector(:,1);
I tried different ways but I always got a dimension error message. I am not sure whether the powers should be in a matrix or a vector (nothing has worked so far...). I am sure it is just a stupid matter of syntax...
Any idea ?
Many thanks !
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!