• ベストアンサー

Mathematicaのプログラム

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で表示したいのですが

質問者が選んだベストアンサー

  • ベストアンサー
  • tsukita
  • ベストアンサー率50% (41/82)
回答No.1

こんにちは。 Mathematicaをからは離れたので、参考意見程度になってしまうのですが・・・ まず、不定積分なので積分定数を考慮しないといけないと思うのですが、Mathematicaでは積分定数はどう処理されるのでしょう? また、やりたいことが >やりたいことはf(x)=xとしてf(x+y)をxで不定積分 と具体的にあるのなら、不定積分後の原始関数を手計算して、 その式に関してプロットすればいいのではないでしょうか。

jkallnight
質問者

補足

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

その他の回答 (2)

  • tsukita
  • ベストアンサー率50% (41/82)
回答No.3

>確かに今の場合被積分関数が簡単なので手計算で積分し、その結果をプロットすれば出来ます。ただ私が最終的にやりたいことが、手計算で積分できない解析的に解けない場合に、数値計算で2次元プロットすることなので、まず、簡単な例としてこのやりかたでやりたいです プログラミングでは、基本が大事ですので、その考え方よくわかります。では、もう少しプログラミングの観点から調べてみませんか? 例えば、 f[x_]:=x の後に、 f[2]やf[-1]と入力してみて、きちんと値が出力されますか? 同様に、 g[x_,y_]:=Integrate[f[x+y],x] の後に、 g[0,0]やg[1,1]と入力してみて、きちんと値が出力されますか? また、エラーがでてしまったということですが、 エラーメッセージにヒントはありませんか?

  • inara1
  • ベストアンサー率78% (652/834)
回答No.2

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

関連するQ&A

専門家に質問してみよう