3

Matlabで複雑な関数をプロットするには? 例えば:

Y[e^jx] = 1 / (1 - cosx + j4)

コードをいくつか試しましたが、実部と虚部を別々にプロットするのが正しい方法だと思います。

4

7 に答える 7

2
x = linspace(-pi, pi, 1e3);
y = 1./(1 - cos(x) + i*4);

% Plot absolute value and phase
figure;
subplot(2,1,1); plot(x, abs(y));
subplot(2,1,2); plot(x, angle(y));

% Plot real and imaginary parts
figure;
subplot(2,1,1); plot(x, real(y));
subplot(2,1,2); plot(x, imag(y));
于 2012-11-11T19:34:35.423 に答える
2

複雑なマップのプロットに固有の MATLAB 関数がいくつかあります。

z = cplxgrid(60);
cplxmap(z, 1./(1 - cos(z) + 4*i));

MATLAB のドキュメントの「複素変数の関数」も参照してください。

于 2012-12-27T20:30:53.890 に答える
1

あなたのためではないかもしれませんが、複雑な関数を描画しようとしている他の人のためです。それらをすばやくレンダリングしてダウンロードできるWebサイトをセットアップしました(reflex4you.com、reflex =複雑な機能の表現)

複雑な機能を 2D でカラフルに表示できます。あなたの関数は ここと下に表示されます:

黒はゼロ、白は無限であり、赤 = 1、シアン = -1、i = 緑がかった色、-i = 紫がかった色など、複素数に関連付けられた色で複素平面をカバーしていることに注意してください。

彼が尋ねた機能の反射。

于 2015-05-05T08:15:06.077 に答える
0

次のいずれかを使用できます。

  • plot(real(Y))
  • plot(imag(Y))
  • plot(real(Y),imag(Y))
  • plot(abs(Y))
于 2012-11-11T18:58:42.770 に答える
0
plot(re(Y),im(Y))

しかし、あなたの場合、それが有効な複雑な関数に関連付けられたドメインがあることを覚えておいてください: cos(x)-4j < 1

于 2012-11-11T19:42:04.120 に答える
0

デフォルトでは、plot(X)実数対虚数をプロットするため、次のようになりますplot(real(X), imag(X)) 。たとえば、次を試してください。

>> r = sort(rand(10, 1)) + 1i * rand(10, 1);
>> figure, plot(r)

y 軸で両方が必要な場合は、次を使用します。

plot([real(X), imag(X)])
于 2012-11-11T23:33:36.687 に答える
0

Python の代わりに、私が書いたツールcplotを使用できます。複雑なプロットにドメイン カラーリングを使用します。つまり、絶対値をf(z)明るさと色相に関連付け、複雑な角度に関連付けます。

あなたの機能:

import cplot
import numpy as np

plt = cplot.plot(lambda z: 1 / (1 - np.cos(z) + 4j), (-10, +10, 400), (-10, +10, 400))
plt.show()

ここに画像の説明を入力

于 2021-10-26T12:21:13.180 に答える