美文网首页
IGOR基础知识篇(二)

IGOR基础知识篇(二)

作者: Aerosols | 来源:发表于2021-01-06 22:31 被阅读0次

    ①将原始的pxp文件缩小

    function slim()
    
    variable t0 =StopMSTimer(-2)  
    
    wave SizeBC  = root:SizeBC
    wave LEOsize = root:LEOsize
    wave DateTimeWave = root:DateTimeWave
    wave lagtime = root:lagtime
    
    wavestats/Q SizeBC     /// 找出SizeBC非nan的个数并提取
    variable numreal = 96901751
    variable nint=numpnts(SizeBC)
    
    variable i=0,j=0
    
    make/O/D/N=96901751 datetimewave2
    make/O/N=96901751   sizebc2
    make/O/N=96901751   leosize2
    make/O/N=96901751   lagtime2
    
    do 
       if (SizeBC[i]>0)
       
          datetimewave2[j] = DateTimeWave[i]
          sizebc2[j] = SizeBC[i]
          LEOsize2[j]= LEOsize[i]
          lagtime2[j]= lagtime[i]
          
          j+=1
       endif
       i+=1
    while(i<nint)
    
    variable t1 =StopMSTimer(-2)
    print (t1-t0)/1000000      ///   计算程序运行时间
    end
    

    (1)StopMSTimer(-1)返回计时器的频率,StopMSTimer(-2)返回从计算机开始运行到当前的时刻值(以μs为单位)。
    (2)WaveStats/Q/R=[startP,endP ] 获取wave的某一区间统计值,不输出。命令在执行后会自动创建一系列变量,如图所示:

    WaveStats.png
    (3)Make/O/D/N=(num,num) , 新建double型二维wave。
    (4)流程控制语句:
    ///// 条件判断语句  ///////
    
    /// 1.
    if (<expression>)
     <TRUE PART>
    else
     <FALSE PART>
    endif
    
    /// 2.
    if (<expression>)
     <TRUE PART1>
    elseif
     <FALSE PART2>
    else
     <FALSE PART>
    endif
    ///////////////////////////
    
    
    ///// 循环语句  ///////
    
    /// 1.for循环
    for(<initialize>;<continue test>;<update>)
      <loop body>
    endfor
    
    /// 2.do while循环
    do
      <loop body>
    
    while(<expression>) 
    ///////////////////////////
    
    

    常见运算符:


    运算符.png

    ②在一个pxp文件中导入另一个pxp文件的数据

    function load_data()
    newpath Data,"E:dry"
    LoadData/P=Data/Q/R "1213-copy.pxp"
    end
    

    通常用到的函数包括:LoadData、IndexedFile、IndexedDir等。

    ③连接Wave

    function  cat_var()
       // SetDataFolder root
       wave testwave     = root:testwave
       wave testwave1   = root:testwave1
    
      Concatenate/O/KILL {testwave,testwave1},testwavef
      Redimension/S testwavef
    end
    

    Tick\SLabel\M 上标
    Tick\BLabel\M 下标

    ④排序

    Sort [/A /DIML /C /R] sortKeyWaves,sortedWaveName...
    

    相关文章

      网友评论

          本文标题:IGOR基础知识篇(二)

          本文链接:https://www.haomeiwen.com/subject/mxhroktx.html