MATLAB Answers

画像の描き方

2 views (last 30 days)
I(x,y)=cos^2((x^2+y^2)/45^2)
512×512サイズ
上記画像を描くプログラムの作り方を教えてください。

  1 Comment

Yoshio
Yoshio on 1 Nov 2019
入力データx、yの範囲(定義域)が分かると回答しやすいと思います。

Sign in to comment.

Accepted Answer

Hiroki Okawa
Hiroki Okawa on 1 Nov 2019
Edited: Hiroki Okawa on 1 Nov 2019
[X, Y] = meshgrid(-255:256, -255:256);
I = cos((X.^2 +Y.^2)/45^2).^2;
figure;
imshow(I)
でいかがでしょうか。 グレースケールであれば私はimshow関数をよく使っています。

  1 Comment

tomoyuki fujieda
tomoyuki fujieda on 1 Nov 2019
希望どおりです。
非常に的確なアドバイス感謝です。

Sign in to comment.

More Answers (2)

Kazuya
Kazuya on 1 Nov 2019
Edited: Kazuya on 1 Nov 2019
どんな絵でしょうか。。 プロットするなら fsurf 関数も便利。 https://jp.mathworks.com/help/matlab/ref/fsurf.html
fsurf(@(x,y) cos((x.^2+y.^2)/45.^2).^2)
untitled.png
2次元なら fcontour 関数かな。
fcontour(@(x,y) cos((x.^2+y.^2)/45.^2).^2,'Fill','on')
untitled.png
512×512サイズに出力する話は、どんな絵をイメージされているかをうかがってからに。。

  2 Comments

Kazuya
Kazuya on 1 Nov 2019
2つ目の絵をグレースケールでというイメージでしょうか。。
tomoyuki fujieda
tomoyuki fujieda on 1 Nov 2019
はいそうです。
 ニュートンリング的な周期パターン画像を描くのが希望です。

Sign in to comment.


tomoyuki fujieda
tomoyuki fujieda on 1 Nov 2019
ご回答ありがとうございます。
 2次元のニュートンリング(グレースケール)が描きたいです。
 よろしくお願いします。

  0 Comments

Sign in to comment.

Sign in to answer this question.

Products


Release

R2019a