プロが教えるわが家の防犯対策術!

モンテカルロ法(乱数を用いる方法)によって,関数 f(x,y)= -x2 - y2 + 1 について, −1≤x≤1,−1≤y≤1 の範囲で, 乱数を 1,000,000 回繰り返し生成し,
関数 f(x,y) が最大となる (x, y) を 求めるプログラム max_monte.py を作成せよ.

この問題のプログラムと結果を教えてください。問題はこの文章から始まっていました。

# -*- coding: utf-8 -*
"""
max_monte.py プログラム
モンテカルロ法により関数の最大値を探索するプログラム
"""

A 回答 (3件)

このサイトは、投稿時連続する空白を1つにまとめてしまうので、インデントが乱れます。

パイソンはインデントが乱れると正しい動作が行われないので、下記にアップしました。
https://ideone.com/oh6FUV
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2021/12/26 10:16

−1≤x≤1,−1≤y≤1 の範囲で乱数x、yを生成


for i in range(1000000):
 −1≤xx≤1,−1≤yy≤1 の範囲で乱数xx、yyを生成
 if f(xx,yy) > f(x, y):
  (x, y)=(xx, yy)

print(x, y)

足りない部分はご自分で
    • good
    • 0
この回答へのお礼

足りない場所ってどこを補足すればいいんでしょうか?

お礼日時:2021/12/26 10:05

f(x,y)= -x2 - y2 + 1の


x2はxの2乗ですか、それともxかける2ですか。
(y2についても同様です)
    • good
    • 0
この回答へのお礼

2乗です

お礼日時:2021/12/26 09:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!