MATLAB Answers

0

画像の描き方

Asked by tomoyuki fujieda on 1 Nov 2019
Latest activity Commented on by Yoshio
on 1 Nov 2019
I(x,y)=cos^2((x^2+y^2)/45^2)
512×512サイズ
上記画像を描くプログラムの作り方を教えてください。

  1 Comment

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

Sign in to comment.

Products


Release

R2019a

3 Answers

Answer by Hiroki Okawa on 1 Nov 2019
Edited by Hiroki Okawa on 1 Nov 2019
 Accepted Answer

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

  1 Comment

希望どおりです。
非常に的確なアドバイス感謝です。

Sign in to comment.


Kazuya
Answer by Kazuya
on 1 Nov 2019
Edited by 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
on 1 Nov 2019
2つ目の絵をグレースケールでというイメージでしょうか。。
はいそうです。
 ニュートンリング的な周期パターン画像を描くのが希望です。

Sign in to comment.


Answer by tomoyuki fujieda on 1 Nov 2019

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

  0 Comments

Sign in to comment.