精华内容
下载资源
问答
  • 该代码将CST电磁仿真软件中的场监视器计算结果以ACSII码导出,在MATLAB中可绘制场分布幅值和相位图,在此基础上可实现自由后处理操作,以进一步分析电磁器件中场分布原理。
  • 有时候需要在后处理时,将图片一张张合成视频,下面介绍一种简单的方法: ... aviobj=VideoWriter('example.avi');%新建叫example.avi的文件 open(aviobj); %打开 for i=1:n ... %省略画图代码 currFrame = ...

    有时候需要在后处理时,将图片一张张合成视频,下面介绍一种简单的方法:

    ...
    aviobj=VideoWriter('example.avi');%新建叫example.avi的文件
    open(aviobj); %打开
    for i=1:n
    ... %省略画图代码
    currFrame = getframe;
    writeVideo(aviobj,currFrame);
    ... %省略代码
    end
    close(aviobj); %关闭

     

    转载于:https://www.cnblogs.com/dalanjing/p/6937754.html

    展开全文
  • 在lammps使用过程中,经过计算可以得到每一步原子坐标、速度等信息。...得益于本文作者自动化专业出身及数学建模经验,在使用过程中,作者摸索出一套matlab处理*.lammpstrj文件的方法。在此与广大网友分享。因...
        在lammps使用过程中,经过计算可以得到每一步原子坐标、速度等信息。该信息可以使用dump命令输出到*.lammpstrj中。接下下可使用ovito或vmd等进行表征等工作。而对于一些物理量计算的工作,还需要使用者学会使用一门编程语言。得益于本文作者自动化专业出身及数学建模经验,在使用过程中,作者摸索出一套matlab处理*.lammpstrj文件的方法。在此与广大网友分享。因作者数学计算的思路,所有处理都是将数据理解成为了一个大的矩阵。每次输出则产生一个新的矩阵,矩阵行数为体系(或输出组群)的原子数,列数为dump命令设置所得。一、matlab读取*.lammpstrj文件     *.lammpstrj文件的生成可使用lammps中dump命令。需要注意的是要知道输出内容,也就是输出了几列数据。比如我的程序是:dump        11 water custom 100 water.lammpstrj id type x y z vx vy vz    则表示每100步在water.lammpstrj文件中生成8列新的数据,数据行数就是我的water组群的原子数。    国内很多用户都是在ubuntu操作系统下使用lammps。这里我也安装的是linux版本matlab。具体安装方法可查阅官方说明或csdn相关介绍。这里简单介绍一下启动方法。A  窗口方式在terminal中输matlab即可打开窗口5034b7934ea5f67ed239991b53ed4dde.pngB  命令行方式在terminal中输入matlab –nodesktop–nosplash i    0011386d40fb51e84dfc05db266ca4ba.png    无论以上哪种方式,注意修改工作路径。最好的方法就是在*.lammpstrj文件所在文件夹中打开terminal。接下来进入matlab工作。读*.lammpstrj文件前需要先写一个新的函数。将以下程序段保存成*.m文件即可:bc517a1b460004aa90580c0ddab624c1.png注意:使用前修改*.lammpstrj的文件名,和Ncol的数值。我这里的文件名是water.lammpstrj,数值列数为8。我这里将程序保存成impact_readdump.m文件了。    以读取lammps第1次到第10次输出为例,在matlab命令窗口中输入impact_readdump(1,10),则程序运行。这里1为数据读取的开始步数,10为结束步数。也可以理解为拍电影时的“帧”。df6ed219e83342f06541ab6f777e85cd.png    运行结果如上图。每读一次数据则在command window中显示所用时长。对结果没有质疑的情况可将上述程序中的tictoc 删去。程序运行后会在硬盘文件夹中生成一个新的文件夹./res,其中生成了一些新的文件data*.mat。可以在matlab/current folder当中查看,也可以在文件窗口中查看。该文件为matlab独有数据文件格式。“*”为数据的步数(帧数)。双击一个*.mat文件,在右侧workspace中出现data,再双击,可以看到:b43c09ac6b10ca68769ced8da8ddc0a0.png    再比对water.lammpstrj文件,可以看到所有数据都读到了matlab中,并且数据与water.lammpstrj中的完全一致(上图左与右)。二、使用matlab对数据进行选取等操作    上一步实现了matlab对*.lammpstrj文件中原子信息的读操作。而科学计算的目的是要用这些原子信息再加工推导出更深的理论。因此对*.mat文件的操作就显得更重要。    由于每位使用者的计算目的不同,计算的任务不同,所使用的计算公式、算法均不同本文不能把所有情况列举。涉及具体工作同学可以根据具体问题查找具体公式、设计算法,或者参考具体文献。还有一种方法,在非计算机类专业同学中我发现并不流行,就是使用github。具体方法并非本文重点,不做介绍。在此只介绍几个最基本的数据操作。1.  载入数据    current_data =load(strcat('./res/data',num2str(i),'.mat'));该命令将./res/data*.mat读入workspace。这里i为作者设置的for...end循环的层数,也即要处理的数据的帧数。由于我的数据保存名为data,在下面的操作中,涉及原始数据的地方都要用current_data.data的格式。这里的“.”相当于结构体。有兴趣的读者可参阅matlab教材。2.  查找某个条件并对其操作6266fabbdd7d58e86d1c6ab58fc194d1.png    一般的非计算机类专业同学都习惯使用双层循环或判断进行数据查找等工作,这样做在实际操作中比较浪费内存。    以上的程序我实现的是先将z方向坐标小于等于2的原子的行数都查找出来,放入setdata矩阵(实际上setdata是列向量)中,相当于生成了一个数学上的子集。再判断出符合该条件的原子个数(注意setdata初始为空集,程序并不知道符合上述条件的原子个数是多少,所以用size计算一下)。最后把这些原子相对于(0,0)的x,y方向距离分别放到了distanceX和distanceY两个列向量中。    这段程序仅为举例。作者工作中也并没有使用这个功能。真正的科研工作可能还需要大家广泛阅读文献。欢迎各位老师同学联系作者交流合作!源代码由吉林化工学院钱有程老师及华北电力大学王一峰同学共同参与完成本文由吉林大学刘润老师原创,有兴趣的同学和老师可以直接联系刘老师liurun@jlu.edu.cn学习更多MD知识欢迎各位扫码关注

    7ab3e26985007a5fb93bfb06c50c1402.png

    展开全文
  • 在lammps使用过程中,经过计算可以得到每一步原子坐标、速度等信息。...得益于本文作者自动化专业出身及数学建模经验,在使用过程中,作者摸索出一套matlab处理*.lammpstrj文件的方法。在此与广大网友分享。因...
        在lammps使用过程中,经过计算可以得到每一步原子坐标、速度等信息。该信息可以使用dump命令输出到*.lammpstrj中。接下下可使用ovito或vmd等进行表征等工作。而对于一些物理量计算的工作,还需要使用者学会使用一门编程语言。得益于本文作者自动化专业出身及数学建模经验,在使用过程中,作者摸索出一套matlab处理*.lammpstrj文件的方法。在此与广大网友分享。因作者数学计算的思路,所有处理都是将数据理解成为了一个大的矩阵。每次输出则产生一个新的矩阵,矩阵行数为体系(或输出组群)的原子数,列数为dump命令设置所得。一、matlab读取*.lammpstrj文件     *.lammpstrj文件的生成可使用lammps中dump命令。需要注意的是要知道输出内容,也就是输出了几列数据。比如我的程序是:dump        11 water custom 100 water.lammpstrj id type x y z vx vy vz    则表示每100步在water.lammpstrj文件中生成8列新的数据,数据行数就是我的water组群的原子数。    国内很多用户都是在ubuntu操作系统下使用lammps。这里我也安装的是linux版本matlab。具体安装方法可查阅官方说明或csdn相关介绍。这里简单介绍一下启动方法。A  窗口方式在terminal中输matlab即可打开窗口eeb2ac90533d11af6d7ea213ef305d07.pngB  命令行方式在terminal中输入matlab –nodesktop–nosplash i    1370d53e18449575f57caca9ee69834c.png    无论以上哪种方式,注意修改工作路径。最好的方法就是在*.lammpstrj文件所在文件夹中打开terminal。接下来进入matlab工作。读*.lammpstrj文件前需要先写一个新的函数。将以下程序段保存成*.m文件即可:1a4f532452d16099cf92d8a1a3feb0fa.png注意:使用前修改*.lammpstrj的文件名,和Ncol的数值。我这里的文件名是water.lammpstrj,数值列数为8。我这里将程序保存成impact_readdump.m文件了。    以读取lammps第1次到第10次输出为例,在matlab命令窗口中输入impact_readdump(1,10),则程序运行。这里1为数据读取的开始步数,10为结束步数。也可以理解为拍电影时的“帧”。109ae5254d00ee7b16ff8acfb7b4e28d.png    运行结果如上图。每读一次数据则在command window中显示所用时长。对结果没有质疑的情况可将上述程序中的tictoc 删去。程序运行后会在硬盘文件夹中生成一个新的文件夹./res,其中生成了一些新的文件data*.mat。可以在matlab/current folder当中查看,也可以在文件窗口中查看。该文件为matlab独有数据文件格式。“*”为数据的步数(帧数)。双击一个*.mat文件,在右侧workspace中出现data,再双击,可以看到:85f2f7feb5b5ef579d9411993fde87d8.png    再比对water.lammpstrj文件,可以看到所有数据都读到了matlab中,并且数据与water.lammpstrj中的完全一致(上图左与右)。二、使用matlab对数据进行选取等操作    上一步实现了matlab对*.lammpstrj文件中原子信息的读操作。而科学计算的目的是要用这些原子信息再加工推导出更深的理论。因此对*.mat文件的操作就显得更重要。    由于每位使用者的计算目的不同,计算的任务不同,所使用的计算公式、算法均不同本文不能把所有情况列举。涉及具体工作同学可以根据具体问题查找具体公式、设计算法,或者参考具体文献。还有一种方法,在非计算机类专业同学中我发现并不流行,就是使用github。具体方法并非本文重点,不做介绍。在此只介绍几个最基本的数据操作。1.  载入数据    current_data =load(strcat('./res/data',num2str(i),'.mat'));该命令将./res/data*.mat读入workspace。这里i为作者设置的for...end循环的层数,也即要处理的数据的帧数。由于我的数据保存名为data,在下面的操作中,涉及原始数据的地方都要用current_data.data的格式。这里的“.”相当于结构体。有兴趣的读者可参阅matlab教材。2.  查找某个条件并对其操作d9799e82c078df8ee993152ecb0f1691.png    一般的非计算机类专业同学都习惯使用双层循环或判断进行数据查找等工作,这样做在实际操作中比较浪费内存。    以上的程序我实现的是先将z方向坐标小于等于2的原子的行数都查找出来,放入setdata矩阵(实际上setdata是列向量)中,相当于生成了一个数学上的子集。再判断出符合该条件的原子个数(注意setdata初始为空集,程序并不知道符合上述条件的原子个数是多少,所以用size计算一下)。最后把这些原子相对于(0,0)的x,y方向距离分别放到了distanceX和distanceY两个列向量中。    这段程序仅为举例。作者工作中也并没有使用这个功能。真正的科研工作可能还需要大家广泛阅读文献。欢迎各位老师同学联系作者交流合作!源代码由吉林化工学院钱有程老师及华北电力大学王一峰同学共同参与完成本文由吉林大学刘润老师原创,有兴趣的同学和老师可以直接联系刘老师liurun@jlu.edu.cn学习更多MD知识欢迎各位扫码关注

    8768ceb7f91f0742518d6d185841acf7.png

    展开全文
  • ! 我又来啦,做了个小算例,在100*100个格子的空腔中加了几个矩形障碍 !上代码!西边界为水流进入区 parameter (n=100,m=100) real f(0:8,0:n,0:m) real feq(0:8,0:n,0:m),rho(0:n,0:m) real w(0:8), cx(0:8),cy(0...

    ! 我又来啦,做了个小算例,在100*100个格子的空腔中加了几个矩形障碍

    !上代码!西边界为水流进入区

    parameter (n=100,m=100)
    real f(0:8,0:n,0:m)
    real feq(0:8,0:n,0:m),rho(0:n,0:m)
    real w(0:8), cx(0:8),cy(0:8)
    real u(0:n,0:m), v(0:n,0:m)
    integer i
    open(2,file='uvfield.txt')
    open(3,file='uvely.txt')
    open(4,file='vvelx.txt')
    open(8,file='timeu.txt')
    uo=0.08          !有变动,设Re=400,H=100,L=100, v=0.01,密度1000(水)
    sumvelo=0.0
    rhoo=1000
    dx=1.0
    dy=dx
    dt=1.0
    alpha=0.01
    Re=uo*m/alpha
    print *, "Re=", Re
    omega=1.0/(3.*alpha+0.5)
    mstep=4000        !注意修改步数
    w(0)=4./9.
    do i=1,4
    w(i)=1./9.
    end do
    do i=5,8
    w(i)=1./36.
    end do
    cx(0)=0
    cx(1)=1
    cx(2)=0
    cx(3)=-1
    cx(4)=0
    cx(5)=1
    cx(6)=-1
    cx(7)=-1
    cx(8)=1
    cy(0)=0
    cy(1)=0
    cy(2)=1
    cy(3)=0
    cy(4)=-1
    cy(5)=1
    cy(6)=1
    cy(7)=-1
    cy(8)=-1
    do j=0,m
    do i=0,n
    rho(i,j)=rhoo
    u(i,j)=0.0
    v(i,j)=0.0
    end do
    end do
    do j=1,m-1
    u(0,j)=uo
    v(0,j)=0.0
    end do
    ! main loop
    1 do kk=1,mstep
    call collesion(u,v,f,feq,rho,omega,w,cx,cy,n,m)
    call streaming(f,n,m)
    ! ——————————–
    call sfbound(f,n,m,uo)
    call rhouv(f,rho,u,v,cx,cy,n,m)
    print *, u(0,m/2),v(0,m/2),rho(0,m/2),u(n,m/2),v(n,m/2),rho(n,m/2)
    write(8,*) kk,u(n/2,m/2),v(n/2,m/2)
    END DO
    ! end of the main loop
    call result(u,v,rho,uo,n,m)
    stop
    end
    ! end of the main program

    subroutine collesion(u,v,f,feq,rho,omega,w,cx,cy,n,m)
    real f(0:8,0:n,0:m)
    real feq(0:8,0:n,0:m),rho(0:n,0:m)
    real w(0:8), cx(0:8),cy(0:8)
    real u(0:n,0:m), v(0:n,0:m)
    DO i=0,n
    DO j=0,m
    t1=u(i,j)*u(i,j)+v(i,j)*v(i,j)
    DO k=0,8
    t2=u(i,j)*cx(k)+v(i,j)*cy(k)
    feq(k,i,j)=rho(i,j)*w(k)*(1.0+3.0*t2+4.50*t2*t2-1.50*t1)
    f(k,i,j)=omega*feq(k,i,j)+(1.-omega)*f(k,i,j)
    END DO
    END DO
    END DO
    return
    end
    subroutine streaming(f,n,m)
    real f(0:8,0:n,0:m)
    ! streaming
    DO j=0,m
    DO i=n,1,-1 !RIGHT TO LEFT
    f(1,i,j)=f(1,i-1,j)
    END DO
    DO i=0,n-1 !LEFT TO RIGHT
    f(3,i,j)=f(3,i+1,j)
    END DO
    END DO
    DO j=m,1,-1 !TOP TO BOTTOM
    DO i=0,n
    f(2,i,j)=f(2,i,j-1)
    END DO
    DO i=n,1,-1
    f(5,i,j)=f(5,i-1,j-1)
    END DO
    DO i=0,n-1
    f(6,i,j)=f(6,i+1,j-1)
    END DO
    END DO
    DO j=0,m-1 !BOTTOM TO TOP
    DO i=0,n
    f(4,i,j)=f(4,i,j+1)
    END DO
    DO i=0,n-1
    f(7,i,j)=f(7,i+1,j+1)
    END DO
    DO i=n,1,-1
    f(8,i,j)=f(8,i-1,j+1)
    END DO
    END DO
    return
    end

    subroutine sfbound(f,n,m,uo)
    real f(0:8,0:n,0:m)

    ! bounce back on north boundary
    do i=0,n
    f(4,i,m)=f(2,i,m)
    f(7,i,m)=f(5,i,m)
    f(8,i,m)=f(6,i,m)
    end do
    ! bounce back on south boundary
    do i=0,n
    f(2,i,0)=f(4,i,0)
    f(5,i,0)=f(7,i,0)
    f(6,i,0)=f(8,i,0)
    end do
    ! moving lid  west boundary
    do j=1,m
    f(1,0,j)=f(3,0,j)+2*uo*rhow/3.0
    rhow=(f(0,0,j)+f(2,0,j)+f(4,0,j)+2.*(f(3,0,j)+f(6,0,j)+f(7,0,j)))/(1-uo)
    f(5,0,j)=f(7,0,j)+rhow*uo/6.0     !注意此处与中文P86不同 为什么默认(f(2,0,j)-f(4,0,j))*0.5 这一项等于零????????
    f(8,0,j)=f(6,0,j)+rhow*uo/6.0    !注意此处与P86不同
    end do
    !  the east outlet:open boundray condiction
    do j=1,m
    f(1,n,j)=2*f(1,n-1,j)-f(1,n-2,j)
    f(5,n,j)=2*f(5,n-1,j)-f(5,n-2,j)
    f(8,n,j)=2*f(8,n-1,j)-f(8,n-2,j)
    end do

    !!!!!自己随便加--边界 1   
    !bounce back on north boundary
    do i=30,40
    f(2,i,70)=f(4,i,70)
    f(5,i,70)=f(7,i,70)
    f(6,i,70)=f(8,i,70)
    end do
    !bounce back on south boundary
    do i=30,40
    f(4,i,50)=f(2,i,50)
    f(7,i,50)=f(5,i,50)
    f(8,i,50)=f(6,i,50)
    end do
    !bounce back on west boundary
    do j=50,70
    f(3,30,j)=f(1,30,j)
    f(7,30,j)=f(5,30,j)
    f(6,30,j)=f(8,30,j)
    end do
    !bounce back on east boundary
    do j=50,70
    f(1,40,j)=f(3,40,j)
    f(5,40,j)=f(7,40,j)
    f(8,40,j)=f(6,40,j)
    end do

    !!!!!自己随便加--边界 2
    !bounce back on north boundary
    do i=25,35
    f(2,i,30)=f(4,i,30)
    f(5,i,30)=f(7,i,30)
    f(6,i,30)=f(8,i,30)
    end do
    !bounce back on south boundary
    do i=25,35
    f(4,i,15)=f(2,i,15)
    f(7,i,15)=f(5,i,15)
    f(8,i,15)=f(6,i,15)
    end do
    !bounce back on west boundary
    do j=15,30
    f(3,25,j)=f(1,25,j)
    f(7,25,j)=f(5,25,j)
    f(6,25,j)=f(8,25,j)
    end do
    !bounce back on east boundary
    do j=15,30
    f(1,35,j)=f(3,35,j)
    f(5,35,j)=f(7,35,j)
    f(8,35,j)=f(6,35,j)
    end do

    !!!!!自己随便加--边界 3
    !bounce back on north boundary
    do i=60,70
    f(2,i,60)=f(4,i,60)
    f(5,i,60)=f(7,i,60)
    f(6,i,60)=f(8,i,60)
    end do
    !bounce back on south boundary
    do i=60,70
    f(4,i,40)=f(2,i,40)
    f(7,i,40)=f(5,i,40)
    f(8,i,40)=f(6,i,40)
    end do
    !bounce back on west boundary
    do j=40,60
    f(3,60,j)=f(1,60,j)
    f(7,60,j)=f(5,60,j)
    f(6,60,j)=f(8,60,j)
    end do
    !bounce back on east boundary
    do j=40,60
    f(1,70,j)=f(3,70,j)
    f(5,70,j)=f(7,70,j)
    f(8,70,j)=f(6,70,j)
    end do
    return
    end
    subroutine rhouv(f,rho,u,v,cx,cy,n,m)
    real f(0:8,0:n,0:m),rho(0:n,0:m),u(0:n,0:m),v(0:n,0:m),cx(0:8),cy(0:8)
    do j=0,m
    do i=0,n
    ssum=0.0
    do k=0,8
    ssum=ssum+f(k,i,j)
    end do
    rho(i,j)=ssum
    end do
    end do
    do i=1,n
    rho(i,m)=f(0,i,m)+f(1,i,m)+f(3,i,m)+2.*(f(2,i,m)+f(6,i,m)+f(5,i,m))
    end do
    DO i=1,n
    DO j=1,m-1
    usum=0.0
    vsum=0.0
    DO k=0,8
    usum=usum+f(k,i,j)*cx(k)
    vsum=vsum+f(k,i,j)*cy(k)
    END DO
    u(i,j)=usum/rho(i,j)
    v(i,j)=vsum/rho(i,j)
    END DO
    END DO
    do j=0,m
    v(n,j)=0.0    !注意!设出口处没有竖直方向的速度了!只是个合理假设!
    end do

    do i=30,40     !注意!边界 1   
    do j=50,70
    v(i,j)=0.0
    u(i,j)=0.0
    end do
    end do
    do i=25,35     !注意!边界 2   
    do j=15,30
    v(i,j)=0.0
    u(i,j)=0.0
    end do
    end do
    do i=60,70      !注意!边界 3   
    do j=40,60
    v(i,j)=0.0
    u(i,j)=0.0
    end do
    end do

    return
    end
    subroutine result(u,v,rho,uo,n,m)
    real u(0:n,0:m),v(0:n,0:m)
    real rho(0:n,0:m),strf(0:n,0:m)
    open(5, file='streamf')
    ! streamfunction calculations
    strf(0,0)=0.0
    do i=1,n
    rhoav=0.5*(rho(i-1,0)+rho(i,0))
    if(i.ne.0) strf(i,0)=strf(i-1,0)-rhoav*0.5*(v(i-1,0)+v(i,0))
    do j=1,m
    rhom=0.5*(rho(i,j)+rho(i,j-1))
    strf(i,j)=strf(i,j-1)+rhom*0.5*(u(i,j-1)+u(i,j))
    end do
    end do
    ! ———————————–
    !write(2,*)"VARIABLES =X, Y, U, V, S"
    !write(2,*)"ZONE","I=",n+1,"’J=",m+1,",","F=BLOCK"
    do j=0,m  
        do i=0,n

            write(2,*),i,j,u(i,j),v(i,j)
        end do
    end do
    !do j=0,m
    !write(2,*)(i,i=0,n)
    !end do
    !do j=0,m
    !write(2,*)(j,i=0,n)
    !end do
    !do j=0,m
    !write(2,*)(u(i,j),i=0,n)
    !end do
    !do j=0,m
    !write(2,*)(v(i,j),i=0,n)
    !end do
    !do j=0,m
    !write(2,*)(strf(i,j),i=0,n)
    !end do
    do j=0,m
    write(3,*)j/float(m),u(n/2,j)/uo,u(n/4,j)/uo,u(3*n/4,j)/uo
    end do
    do i=0,n
    write(4,*) i/float(n),v(i,m/2)/uo
    end do
    return
    end
    !============end of the program

    后处理还是MATLAB代码:

    %画出障碍流的流线图
    close all;clc;clear all;

    text= load('uvfield.txt');
    x=text(:,1);
    r=text(:,2);
    dvx=text(:,3);
    dvr=text(:,4);

    %%
    Fx = scatteredInterpolant(x,r,dvx);  %对数据集执行插值
    Fr = scatteredInterpolant(x,r,dvr);
    %%
    xx=linspace(min(x),max(x),2000);      % xx= linspace(x1,x2,n) 生成 n 个点。这些点的间距为 (x2-x1)/(n-1)。 调节此处可以调整疏密度!
    rr=linspace(min(r),max(r),2000);
    [xgg,rgg]=meshgrid(xx,rr);
    xstream = Fx(xgg,rgg);
    ystream = Fr(xgg,rgg);
    %%
    scrsz = get(0,'ScreenSize');         %得到屏幕参数

    figure1 = figure('Position',[0.05*scrsz(3) 0.05*scrsz(4) 0.9*scrsz(3) 0.9*scrsz(4)]);   % 改变画图大小位置
                                         % scrsz(1): 屏幕最左坐标;scrsz(2): 屏幕最下坐标
                                         % scrsz(3): 屏幕宽(像素);% scrsz(4): 屏幕高(像素)
    [xs,rs] = meshgrid(x,r);
    [dvxs,dvrs] = meshgrid(dvx,dvr);
    quiver(x,r,dvx,dvr,'r');

    numstream=600;
    strx=randi([0,99],numstream,1);       %randi([imin,imax],...) 返回一个在[imin,imax]范围内的伪随机整数
    stry=randi([0,99],numstream,1);       %r = randi(imax,[m,n]),返回一个在[1,imax]范围内的的m*n的伪随机整数矩阵 原始为stry=randi([0,12],numstream,1);
                                          %值strx、y代表流线的起始位置
    strx=[strx,strx];
    stry=[stry,-stry];

    h=streamline(xgg,rgg,xstream,ystream,strx,stry); %streamline(X,Y,Z,U,V,W,startx,starty,startz) 根据三维向量数据 U、V 和 W 绘制流线图。
                                                     %数组 X、Y 和 Z 用于定义 U、V 和 W 的坐标,它们必须是单调的,无需间距均匀。X、Y 和 Z 必须具有相同数量的元素,就像由 meshgrid 生成一样。
                                                     %startx、starty 和 startz 定义流线图的起始位置。
    set(h,'LineWidth',0.5,'Color','k')

    axis equal
    axis tight
    box on

    %% 2nd
    figure2 = figure('Position',[0.05*scrsz(3) 0.05*scrsz(4) 0.9*scrsz(3) 0.9*scrsz(4)]);

    [xs,rs] = meshgrid(x,r);
    [dvxs,dvrs] = meshgrid(dvx,dvr);
    quiver(x,r,dvx,dvr,'r');

    numstream=800;
    strx=randi([2,99],numstream,1);
    stry=randi([0,40],numstream,1);         %此处原为[0,12]

    strx=[strx,strx];
    stry=[stry,-stry];

    h=streamslice(xgg,rgg,xstream,ystream);  %流线图

    set(h,'LineWidth',0.7,'Color','b')

    axis equal
    axis tight
    box on

     

     

    展开全文
  • fluent后处理matlab

    2010-04-22 07:53:22
    fluent后处理matlab.描述了怎么用matlab处理fluent曲线
  • matlab图像处理

    2018-09-06 21:05:41
    利用matlab对图像处理中的各种算法进行运行,可以看到图像处理后的效果
  • colfilt, nlfilter,inline matlab 图像处理函数汇总 colfilt, nlfilter,inline matlab 图像处理函数汇总 matlab图像处理函数汇总 matlab图像处理函数regionprops 4.brighten 4.brighten 功能: 增加或降低颜色映像表...
  • MATLAB信号处理

    2019-05-05 09:53:47
    MATLAB平台上来分析处理加噪声的语音信号,首先在MATLAB环境下利用计算机的录音设备对信号进行采集,将采集的信号进行快速傅里叶变换。滤波器的选用是最重要的,通过巴特沃夫滤波器设计完成低通滤波,通过...
  • matlab流场可视化后处理

    万次阅读 多人点赞 2019-03-12 13:41:37
    matlab流场可视化后处理1流体中标量的可视化1.1 云图1.2 切片图绘制1.3 三维等值面图绘制2流体中矢量的可视化2.1 箭头图或速度图2.2 流线图2.4 带节点的流线图2.5流管图和流带图2.6 圆锥体图2.7 粒子动画图3 参考...
  • matlab语音处理

    2018-12-07 21:36:03
    读入一个音频信号加入500hz的正弦信号干扰,用fft函数分析频谱,设计一个FIR带阻滤波器,滤除干扰,再用sound函数播放比较处理前后的效果
  • matlab图像处理源程序

    2018-07-06 14:52:59
    matlab图像处理源程序 书上课代码第一章 MATLAB6.5 基础 第二章 MATLAB 图形绘制基础 第三章 MATLAB 图形对象 第四章 MATLAB 图形对象操作 第五章 GUI 设计 第六章 MATLAB 特殊图形的绘制
  • MATLAB图像处理

    千次阅读 多人点赞 2018-06-18 21:42:30
    一、图像处理预备知识1、图像处理(image processing)用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。...一般称原始图像为空间域图像,称变换的图...
  • 我的m文件是读取图片处理后输出图片,想用java调用这个m文件的话,请问我的java文件应该怎么写呢?
  • matlab音效处理

    2013-10-19 17:17:07
    功能强大,打开运行fenxi.m文件即可,开机动画,语音音量音速调节,变音不变速,回音,混音,混响等功能 注意!本程序仅限于matlabR2012a及更高版本
  • 基于matlab图像处理

    2015-04-22 15:48:33
    利用matlab进行图像处理 灰度化 二值化对图像进行分割 提取目标图像 实现自动计数
  • matlab线条处理

    2020-07-20 11:11:59
    在写论文时matlab利用plot绘制出的图形由于图注,线条类型等不满足论文要求,利用函数调整线条线性或者颜色比较麻烦,可以在出图直接在figure的菜单进行添加图注,更改x,y轴坐标等操作,调整好之后,可以再复制...
  • Matlab图片处理

    2017-10-17 20:43:47
    需要批处理一些图片,接触Matlab,网上找了一下方法。总结了一下对图片处理的方法。...P = 'C:\Users\takenyy\Desktop\处理过\反转\'; D = dir([P '*.jpg']); for i = 1 : length(D) a = imre

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,898
精华内容 1,159
关键字:

matlab后处理

matlab 订阅