24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1052  |  回复: 6

qk1980106

金虫 (初入文坛)

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

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

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

» 猜你喜欢

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

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

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的回帖

xzczd

木虫 (小有名气)

引用回帖:
4楼: Originally posted by qk1980106 at 2015-01-07 20:09:19
呵呵,我是已知一数据文件,比如1.dat,有三列数据,前两列是坐标,第三列是强度值,而不是画一个二维函数的contour图和梯度图...

所,以,说,Interpolation正可以处理这种数据,你打开软件写下Interpolation按下F1仔细看看它的第三种语法。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
5楼2015-01-07 20:49:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qk1980106

金虫 (初入文坛)

引用回帖:
5楼: Originally posted by xzczd at 2015-01-07 20:49:30
所,以,说,Interpolation正可以处理这种数据,你打开软件写下Interpolation按下F1仔细看看它的第三种语法。...

非常感谢你的回复!我是最近听说mathematica画图功能强大,刚学,菜鸟一个!我把数据传上去,你给看看能否帮我画一下,写下命令,感激不尽!(1.dat是三列数据,前两列为坐标,第三列是强度值;2.dat就是单独的第三列数据)

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 1.dat
  • 2015-01-08 09:02:34, 147.18 K
  • 附件 2 : 2.dat
  • 2015-01-08 09:03:03, 89.18 K
6楼2015-01-08 09:03:32
已阅   回复此楼   关注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的回帖
相关版块跳转 我要订阅楼主 qk1980106 的主题更新
信息提示
请填处理意见