导读
西南交大的Johncy提问:我想把偶数行减去70,奇数行不变,Origin里面可以实现吗?
谭编:利用Origin的LabTalk编程(C语言)输入2行简单代码,即可实现。
ps: 要知道为什么那么多人要学习编程了吧?谭编会Python、JavaScript、C、VB等编程,咋学会了这么多呢?精通一门语言,触类旁通。所以,【编辑之谭】推荐的Python课程是不是很有用呢?!
有时候,我们在实验中测试的原始数据,会因为实验装置本身等原因,某次或偶数次测试的数据需要减去某个特定值,才是我们想要的数据。
那么,今天谭编给大家演示LabTalk和Excel两种方法,对数据进行隔行运算。类似的数据表运算操作,都可以利用本教程的方法实现。
方法一:利用Excel进行隔行运算
1. 在第一行单元格输入=B1,在第二行输入=B2-70;
2. 选择上述两行,双击右下角的“+”自动向下填充。
这种填充公式的方式是按照第1行、第2行公式交替的形式向下填充的。这样可以实现奇数行不变,偶数行-70的目的。
方法二:Origin中LabTalk简单编程
利用LabTalk(类似于C语言),2行简单的代码可以搞定。
在需要运算的列标签右键选择“设置列值...”,弹出对话框(图1),在“执行公式前运行脚本”框中输入编程代码。
{col(B)[i]=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