matlab streamslice

背景说明

在磁重联的研究中(一定不止于这个小范畴内),常常需要在网格信息(比如n/B/E/J)的contour图上,叠加画出磁力线的图像,从而更加全面的理解其中的物理。

streamslice(X,Y,Z,U,V,W,startx,starty,startz) draws well-spaced streamlines (with direction arrows) from vector data U, V, W in axis aligned x-, y-, z-planes at the points in the vectors startx, starty, startz.

The arrays X, Y, and Z, which define the coordinates for U, V, and W, must be monotonic, but do not need to be uniformly spaced. X, Y, and Z must have the same number of elements, as if produced by meshgrid. U, V, W must be m-by-n-by-p volume arrays.

注意事项

在streamslice中,一个非常重要的区别(相比较于imagesc),就是streamslice(X,Y,U,V)中,X、Y都必须是与U、V维度相同的向量。
一般由[X,Y] = meshgrid(U,V)产生。

这基本可以算得上是最容易出错的地方了。

要避免这个问题,最简单的方式,就是尽量多的使用size命令。

[m,n,p] = size(U)
[X,Y,Z] = meshgrid(1:n,1:m,1:p)

这里注意,[X,Y] = meshgrid(U,V)中,U,V的维度刚好对应的是Y,X的维度,而非X,Y的维度。

其他

  1. streamslice(...,density)可以控制磁力线的疏密程度。其默认值为1。想要密一些,就可以设置为2或更高;想要疏一些则可以设置为0.5或其他。(好啰嗦!!!)
  2. h = streamslice(...)可以把磁力线这一系列“线”作为对象,返回给句柄h。这样一来,我们便可以方便的通过set(h,'LineWidth',2.0,...)等等性质,来对这些“线”进行个性化设置。

一点疑问

matlab help文档中,在对streamslice的描述部分里,有下面一段说明:

Do not assume that the flow is parallel to the slice plane. For example, in a stream slice at a constant z, the z component of the vector field W is ignored when you are calculating the streamlines for that plane.

是啥意思???

待补充

  1. 经常与streamslice搭配使用的,还有诸如linspacelogspace这样生成一维等差/比数组的函数。
  2. 今天来自数院的莫毅师兄见到我在并行计算课程中的第二次作业里面用matlab画出的表面非常浮夸实则弱到爆炸的isosurface图


    u_dist_3D.jpg

    后,竟然真的以为我很擅长用matlab作图,提出了“如何在maltab里面画出三维球坐标图”这个问题。

在电子加速的研究中,尤其是做辐射这一方面,经常需要画出产生光子的角分布图;此外,在LWFA中,除了高能电子的单能性与带电量之外,散角大小也是很重要的一项指标。

所以事实上,这种极坐标、球坐标图我是经常可以见到的。但因为自己没有亲自动手画过,所以还是需要花时间去想一想这个问题。

补充

  1. 在matlab里面画极坐标图,只需要一个简单的命令polar即可。
  2. 球坐标则需要自己稍微多写几行代码,网上很多。
  3. 然而在极坐标(r, theta)下,如何让坐标轴r以log形式表示,这个问题到现在依然没有找到答案。
  4. 一个类似网吧网管的不负责任的答案是:换一个软件吧。因为据说TecPlot的确是可以画这样的图。
  5. 秀一个streamslice图:


    Streamslice

    其中背景的contour图代表了xy平面上的垂直于纸面方向的电流Jz,而图中带有箭头的线则代表了由磁场Bx和By构成的矢量。

可以看到,在x=0&y=0处,磁力线反向交汇,“矢量互相抵消”之后,产生了磁重联现象(Magnetic Reconnection)。另一个重要的表现之一,就是在磁重联区域产生了第三个方向的电流片Jz,伴随着这个电流片的,是巨大的能量耗散区域。从而在这个区域里,磁场的能量转化为粒子(电子、离子)的能量,进而发生辐射。

在天体物理当中,磁重联理论可以很好的解释由各种宇宙探测器探测到的高能X射线、gamma射线、高能粒子等等,所以对磁重联这一物理机制的研究,很重要。

最后再说两句

从macdown里编辑好内容,拷贝到简书上之后,发现“高亮显示”(==X==)的功能没有了;“下划线”功能也变成了“斜体”功能。

才知道markdown原来就仅仅是一个轻量级的标记语言,最最基本的语法包括一小些,然后在不同的平台不同的软件里面又会逐渐添加其个性化的扩展功能。

所以用markdown写一些轻量级的文档,博客文章是没有问题的,方便,快捷。
但是如果觉得markdown可以代替html,CSS,或者更夸张点的说,LaTex,那是不可能的。

最最最最最最最重要的结尾:内容才是硬道理!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、实验目的 学习使用 weka 中的常用分类器,完成数据分类任务。 二、实验内容 了解 weka 中 explo...
    yigoh阅读 8,638评论 5 4
  • 心里装的多了,这五谷的东西便有了味道。 很喜欢那句“父母尚在苟且,你却在炫耀诗和远方”。 任何没有核心价值的品牌广...
    HIRAMLU阅读 382评论 0 0
  • 与天斗与地斗,都没有战胜自己有成就感。这是我在自己身上发现的真理。记录今天发生的一件囧事。 去交通局开一个服务型党...
    janet阅读 211评论 1 1
  • 生活中要抱怨的话,随便找都有。今天路上居然遇到了小区附近的神经病把我和单车推倒。我在想,神啊,这是什么意思?不多想...
    晓晶_5fde阅读 174评论 1 5
  • 今天npm install总是报错:unable to verify the first certificate(...
    hamieva阅读 673评论 0 0