複素数の事前割り当て

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

采纳的回答

Dyuman Joshi
Dyuman Joshi 2024-4-8,6:46
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 个评论
osamu
osamu 2024-4-9,0:40
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 2024-4-9,11:19
You are welcome! Glad to have helped :)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 ループと条件付きステートメント 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!