大数跨境

利用Origin的LabTalk编程或Excel对数据表隔行运算

利用Origin的LabTalk编程或Excel对数据表隔行运算 科学材料站
2020-09-21
2
导读:导读西南交大的Johncy提问:我想把偶数行减去70,奇数行不变,Origin里面可以实现吗?谭编:利用Or



导读

西南交大的Johncy提问:我想把偶数行减去70,奇数行不变,Origin里面可以实现吗?
谭编:利用Origin的LabTalk编程(C语言)输入2行简单代码,即可实现。
ps: 要知道为什么那么多人要学习编程了吧?谭编会Python、JavaScript、C、VB等编程,咋学会了这么多呢?精通一门语言,触类旁通。所以,【编辑之谭推荐的Python课程是不是很有用呢?!
有时候,我们在实验中测试的原始数据,会因为实验装置本身等原因,某次或偶数次测试的数据需要减去某个特定值,才是我们想要的数据。
那么,今天谭编给大家演示LabTalk和Excel两种方法,对数据进行隔行运算。类似的数据表运算操作,都可以利用本教程的方法实现。

方法一:利用Excel进行隔行运算

在Excel中可以在新的一列中进行隔行数据处理。
步骤:
1. 在第一行单元格输入=B1,在第二行输入=B2-70;
2. 选择上述两行,双击右下角的“+”自动向下填充。
这种填充公式的方式是按照第1行、第2行公式交替的形式向下填充的。这样可以实现奇数行不变,偶数行-70的目的。
具体演示动图如下:

方法二:Origin中LabTalk简单编程

利用LabTalk(类似于C语言),2行简单的代码可以搞定。
在需要运算的列标签右键选择“设置列值...”,弹出对话框(图1),在“执行公式前运行脚本”框中输入编程代码。
图1  设置列值中输入C语言代码隔行运算
算法一:循环每隔2行减去70
在“执行公式前运行脚本”框中输入:
for(i=2;i<93;i+=2)
{col(B)[i]=col(B)[i]-70;}

{col(B)[i]-=70;}

【代码解释】

第一行代码:构造一个遍历数据表的for循环,括号中定义了i的起始值、结束值以及步长。即i从第2行到93行,步长设置为2,表示跳一行,即只计算第2、4、6、8等行。
第二行代码:col(B)[i]表示第B列的第i行数据。
算法二:循环判断奇偶进行运算

新建一列C,我们对C列数据进行赋值,奇数行从B列赋值,偶数行换算为B-70。

奇、偶数行的判断:行号i除以2取余,如果为0,表示整除,即为偶数,否则为奇数。即 n%2==0 则为偶数。n%2==1 则为奇数。 


代码如下:

1 for(i=1;i<93;i++)

2 { if (i%2==1)

{

3              col(C)[i]=col(B)[i];

4       }else

         {

5               col(C)[i]=col(B)[i]-70;

           }

       }






【演示动图】



回复“视频号”关注1min视频教程   回复“20”或“30领取Origin模板

添加官方微信 进群交流

SCI二氧化碳互助群

SCI催化材料交流群

备注【姓名-机构-研究方向】

说明

🔹本文内容若存在版权问题,请联系我们及时处理。

🔹欢迎广大读者对本文进行转发宣传。

🔹《科学材料站》会不断提升自身水平,为读者分享更加优质的材料咨询,欢迎关注我们。

投稿请联系contact@scimaterials.cn


【声明】内容源于网络
0
0
科学材料站
内容 0
粉丝 0
科学材料站
总阅读0
粉丝0
内容0