重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Mathematicaの以下のプログラムでエラーがでてしまうのですが
どこが間違っているのか教えてほしいです

f[x_]:=x
g[x_,y_]:=Integrate[f[x+y],x]
Plot3D[g[x,y],{x,-3,3},{y,-3,3},PlotPoints->200]

やりたいことはf(x)=xとしてf(x+y)をxで不定積分しその結果を変数x,yの2変数関数g(x,y)としてPlot3Dで表示したいのですが

A 回答 (3件)

こんにちは。



Mathematicaをからは離れたので、参考意見程度になってしまうのですが・・・

まず、不定積分なので積分定数を考慮しないといけないと思うのですが、Mathematicaでは積分定数はどう処理されるのでしょう?

また、やりたいことが
>やりたいことはf(x)=xとしてf(x+y)をxで不定積分
と具体的にあるのなら、不定積分後の原始関数を手計算して、
その式に関してプロットすればいいのではないでしょうか。

この回答への補足

回答ありがとうございます
確かに今の場合被積分関数が簡単なので手計算で積分し、その結果をプロットすれば出来ます。ただ私が最終的にやりたいことが、手計算で積分できない解析的に解けない場合に、数値計算で2次元プロットすることなので、まず、簡単な例としてこのやりかたでやりたいです

補足日時:2010/02/08 13:57
    • good
    • 0

>確かに今の場合被積分関数が簡単なので手計算で積分し、その結果をプロットすれば出来ます。

ただ私が最終的にやりたいことが、手計算で積分できない解析的に解けない場合に、数値計算で2次元プロットすることなので、まず、簡単な例としてこのやりかたでやりたいです

プログラミングでは、基本が大事ですので、その考え方よくわかります。では、もう少しプログラミングの観点から調べてみませんか?

例えば、
f[x_]:=x
の後に、
f[2]やf[-1]と入力してみて、きちんと値が出力されますか?
同様に、
g[x_,y_]:=Integrate[f[x+y],x]
の後に、
g[0,0]やg[1,1]と入力してみて、きちんと値が出力されますか?

また、エラーがでてしまったということですが、
エラーメッセージにヒントはありませんか?
    • good
    • 0

Mathematicaは持ってませんが、不定積分結果は、積分定数を無視すれば x*y*(x+y)/2 なので、その式で直接3Dグラフを描いてはいかがでしょうか。

Mapleでの結果は添付図のようになります。
「Mathematicaのプログラム」の回答画像2
    • good
    • 0

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