I have a existing matrix M: r x 14 x d double
I have a function that takes in matrix: r x 6 x d double and it apparently outputs the same shape back.
The function manually names each column to a variable (say a1 – a6) , then outputs them in format [A1, A2, …, A6]
I give it: M(:,[1:4 8:9],:), which is r x 6 x d, and I get back from function ans = r x 6 x d
However, when I am trying to re-insert the ans back into the same columns they came from (M(:,[1:4 8:9],:)), I get an error:
"Subscripted assignment dimension mismatch."
This is what I am trying:
M(:,[1:4 8:9],:) % outputs shape r x 6 x d double
M(:,[1:4 8:9],:) = MyFun(M(:,[1:4 8:9],:) )function [A1, A2, A3, A4, A5, A6]= MyFun(vals,:) ) A1 = vals(:,1,:); A2 = vals(:,2,:); % And so on... Shape of each is 584 x 1 x 4
[A1, A2, A3, A4, A5, A6] % outputs shape r x 6 x d doubleend
Is there a way to do this in one line similar to the above? Or is it just silly mistake etc.
Many thanks for any help
Best Answer