24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1059  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

qk1980106

金虫 (初入文坛)

[求助] 求助如何画下面的图形已有2人参与

已经知道三列数据x,y,z,其中x,y是坐标,z是高度值,现在我知道怎么画蓝色的contour图,但不知道怎么把梯度的矢量也画到一起,求各位大神告诉我怎么画,先谢谢了!!

求助如何画下面的图形
1.GIF
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
qk1980106: 金币+10, ★★★很有帮助, 十分感谢如此神速的回复!! 2015-01-08 13:40:21
引用回帖:
6楼: Originally posted by qk1980106 at 2015-01-08 09:03:32
非常感谢你的回复!我是最近听说mathematica画图功能强大,刚学,菜鸟一个!我把数据传上去,你给看看能否帮我画一下,写下命令,感激不尽!(1.dat是三列数据,前两列为坐标,第三列是强度值;2.dat就是单独的第三 ...

CODE:
(* 文件的路径可以通过Ctrl+C,Ctrl+V 直接获得。我这里就简单写了。 *)
data = Import["1.dat"];
list = Replace[data, {a_, b_, c_} :> {{a, b}, c}, {1}];
f = Interpolation[list];


{ContourPlot[f[x, y], {x, 0, 100}, {y, 0, 100},
   PlotRangePadding -> None, PlotRange -> All],
  VectorPlot[
   Grad[f[x, y], {x, y}] // Evaluate, {x, 0, 100}, {y, 0,
    100}]} // Show

求助如何画下面的图形-1

调调选项的话应该还能再好看点。懒得弄了。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
7楼2015-01-08 10:43:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

johnliu1983

至尊木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
qk1980106: 金币+15, 有帮助, 放假在家,还没试,但还是太感谢了 2015-01-04 10:51:58
画完contour图。然后用[DX,DY] = gradient(Z,.2,.2);这样的命令把梯度求出来。然后用这个命令画图。
hold on
quiver(X,Y,DX,DY)
hold off
2楼2014-12-30 14:42:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

这不是楼主吗:http://tieba.baidu.com/p/3492418646
上面这帖4楼的答案是正确的,你把FunctionInterpolation换成Interpolation就可以了。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
3楼2015-01-07 15:39:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qk1980106

金虫 (初入文坛)

引用回帖:
3楼: Originally posted by xzczd at 2015-01-07 15:39:33
这不是楼主吗:http://tieba.baidu.com/p/3492418646
上面这帖4楼的答案是正确的,你把FunctionInterpolation换成Interpolation就可以了。

呵呵,我是已知一数据文件,比如1.dat,有三列数据,前两列是坐标,第三列是强度值,而不是画一个二维函数的contour图和梯度图
4楼2015-01-07 20:09:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见