フィルターのクリア

adding vector to matrix to create tensor

6 ビュー (過去 30 日間)
Noya Linder
Noya Linder 2023 年 7 月 24 日
コメント済み: Steven Lord 2023 年 7 月 24 日
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?

採用された回答

Dyuman Joshi
Dyuman Joshi 2023 年 7 月 24 日
%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)
ans = 1×3
1 1 12
%Perform the addition
out = y + z0;
size(out)
ans = 1×3
12 12 12
  1 件のコメント
Steven Lord
Steven Lord 2023 年 7 月 24 日
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)
tb = 8.4299
the result would require over 8 terabytes of contiguous memory to store.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by