快速入门

这里,我们用一个例子来说明,用户非常容易在自己的代码中加入matVis可视化代码。这个例子包含了使用matVis所有的关键步骤,调用matVis的代码仅有6行。

第1步 初始化matVis系统。代码如下:

    call mvInit()

mvInit()是matVis初始化函数,必须在所有其他matVis函数之前调用。

第2步 为绘图对象准备数据。这里是一个2d结构曲面数据。代码如下:

    lx = 1.0; ly = 1.0
    dx = 2*lx/(M-1); dy = 2*ly/(N-1)
    do i=1,M; do j=1,N
            x(i,j) = -lx + (i-1)*dx
            y(i,j) = -ly + (j-1)*dy
            z(i,j) = sin(x(i,j)**2 + y(i,j)**2)
    enddo; enddo

第3步 设置绘图对象的可视化属性或者直接使用缺省设置。代码如下:

    call mvSettings("3d{surfc:on;}")

mvSettings的设置会被应用到当前绘图子窗口接下来添加的所有的绘图对象上,直到用户改变这些设置。在这个例子里,设置了surfc:on,表示对后面添加的所有绘图对象都会显示曲面等值线——这里就是下面的2d结构曲面对象。

第4步 用上面准备好的数据,在matVis当前绘图子窗口中添加一个2d结构曲面绘图对象。代码如下:

    call mvS2d(h, M, N, x, y, z)

mvS2d在当前绘图子窗口添加一个2d结构曲面对象。在这个例子里,我们没有创建绘图窗口(figure)和绘图子窗口(subplot),matVis会自动创建一个绘图窗口并在该绘图窗口中自动创建一个绘图子窗口作为当前绘图子窗口。

第5步 程序暂停,观察可视化结果。代码如下:

    call mvPause()

等待用户点击工具条上的continue按钮,程序才会继续运行。

第6步 退出matVis系统,程序结束。代码如下:

    call mvEnd()

mvEnd()退出matVis系统,同时结束当前计算程序,因此mvEnd()之后的代码都不会被执行。

运行结果

准备好代码之后,编译运行就得到如下结果:

这是全部代码清单:

program mvTest
implicit none
integer,parameter :: M=100, N=100
real lx, ly, dx, dy
real, dimension(M,N) :: x, y, z
integer h, i, j

lx = 1.0; ly = 1.0
dx = 2*lx/(M-1); dy = 2*ly/(N-1)
call mvInit()
do i=1,M; do j=1,N
        x(i,j) = -lx + (i-1)*dx
        y(i,j) = -ly + (j-1)*dy
        z(i,j) = sin(x(i,j)**2 + y(i,j)**2)
enddo; enddo
call mvSettings("3d{surfc:on;}")
call mvS2d(h,M,N,x,y,z)
call mvPause()
call mvEnd()
end program mvTest

by Sigmath Co. Ltd®

Copyright © Sigmath Co. Ltd 2015-2016Last modify: 2016