複素数の事前割り当て

2 visualizzazioni (ultimi 30 giorni)
osamu
osamu il 8 Apr 2024
Commentato: Dyuman Joshi il 9 Apr 2024
サイズが大きく、for文などでサイズが変動する配列の扱いについてはzerosなどを使って事前割り当てを行うことが以下のリンクで推奨されています。
これについて対象が複素数の場合はどのような事前割り当てをしたらいいでしょうか?
例えば以下のような式の場合zerosで定義したxに複素数を導入する方法は、目的の事前割り当ての効果を得られているのでしょうか。
x = zeros(1,1000000);
for k = 2:1000000
Real = k*5
Img = k*8
x(k) = complex(Real, Img)
end

Risposta accettata

Dyuman Joshi
Dyuman Joshi il 8 Apr 2024
You can use this syntax of zeros() to preallocate the data as a complex array -https://in.mathworks.com/help/matlab/ref/zeros.html#d126e1907954
N = 1e5;
%syntax
x = zeros(1, N, 'like', 1i);
for k = 2:N
Real = k*5;
Img = k*8;
x(k) = complex(Real, Img);
end
x(2:5)
ans =
10.0000 +16.0000i 15.0000 +24.0000i 20.0000 +32.0000i 25.0000 +40.0000i
  2 Commenti
osamu
osamu il 9 Apr 2024
Thank you for your response.
I see that you can define the type of complex numbers using the zeros function.
I have gained a deeper understanding.
Thank you very much.
Dyuman Joshi
Dyuman Joshi il 9 Apr 2024
You are welcome! Glad to have helped :)

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su ビッグ データの処理 in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!