- ベストアンサー
mathematicaに詳しい方お願いします!
有限要素法のシミュレーションで、座標とその点での磁場の強さをリストにしました。こんなかんじです↓ points = {{x1,y1,z1},{x2,y2,z2},{x3,y3,z3},......} x,y : 座標 z : その点での磁場の強さ ここから磁場の等高線を描くことができなくて困っています。上のようなリスト形式から描かなくても、磁場の強さとその位置が反映された等高線が描ければ良いのでmathematicaに詳しい方、よろしくお願いします!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Mathematica6以降ならListContourPlotを使います. 例: data = Flatten[Table[{x, y, Sin[x] + Sin[y]}, {x, 0, 2 \[Pi], 0.1}, {y, 0, 2 \[Pi], 0.1}], 1]; ListContourPlot[data] ListContourPlotがなければ,データを一旦InterpolatingFunctionにしてからContourPlotで描きます.(Mathematica6でもできます) 例: f = Interpolation[data]; ContourPlot[f[x, y], {x, 0, 2 \[Pi]}, {y, 0, 2 \[Pi]}]
その他の回答 (1)
- info22
- ベストアンサー率55% (2225/4034)
昔Mathematicaを使っていましたが、今はMaple10しか使える環境にありませんのでチェックできませんが、 http://reference.wolfram.com/mathematica/tutorial/DensityAndContourPlots.html にある「密度プロットと等高線プロット」の機能を使ってプロットできませんか?
お礼
回答ありがとうございます。 さっそくご指摘いただいたページを見たのですが3次元の点列から等高線を描く方法は見つけることができませんでした… (なにぶん知識不足なので見落としもあるかもしれません…) やはり関数として表されたものでないと等高線を描くことができないのでしょうか?
お礼
mathematicaを6.0にバージョンアップすることで解決してみようと思います。 InterpolatingFunctionを使った方法はいまいちうまくいかなかったんですが、今まで知らなかったので勉強になりました。 親切な回答どうもありがとうございました!