adding vector to matrix to create tensor
6 views (last 30 days)
Show older comments
Hi. I have a 10176X10176 matrix and a 10176X1 vector that I want to add to the matrix in order to create a 10176X10176X10176 tensor, without a for loop.
How should I go about that?
0 Comments
Accepted Answer
Dyuman Joshi
on 24 Jul 2023
%Sample example
y = rand(12,12);
z = rand(12,1);
%Change the dimensions of z from mxnx1 to nx1xm
z0 = permute(z,[2 3 1]);
size(z0)
%Perform the addition
out = y + z0;
size(out)
1 Comment
Steven Lord
on 24 Jul 2023
This is a correct answer, but it probably won't work on the original question for practical reasons. Assuming the data is real double data:
numElements = 10176^3;
bytes = 8*numElements;
tb = bytes/(1000^4)
the result would require over 8 terabytes of contiguous memory to store.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!