24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1601  |  回复: 2

钢铁中国

木虫 (小有名气)

[交流] OriginLab 中Labtalk编程 代码分享 小角激光光散射数据处理使用 已有1人参与

在处理数据时由于需要处理批量的数据,不得已想办法编写了几行代码。之前编写代码时各种网上查找,除了找到一些教程外并没有找到对计算机小白很友好的代码实例,所以在此分享一下我的代码,代码很简单,我觉得对那些同样是初学者的同学们应该比较好理解。最后,希望大家多多分享,互相交流。OriginLab的编程语言用好了处理数据真的很方便。
         在下非计算机专业,仅仅是计算机爱好者,如果有什么格式上的不专业呀请自动忽略,计算机小白在各位大神面前瑟瑟发抖。。。。。。另外,也期待各位大神能分享一些由易到难的代码实例,帮助大家共同学习进步。



//以下代码可以将每一列都减去该列第一行的值,然后找到每一列的最大值,用该列除以该列的最大值,然后对该列取对数,并对该列的前N个点进行线性拟
//合,将线性拟合的直线的斜率输出在对应列的最后一行
//进行线性拟合,拟合的斜率放在每列对应的最后一行
const colume=46;    //我需要处理46列数据,每列数据有947行
const row=947;
//同时对连续的第j列,每一列都进行每一行都减去第一行的值下面这一段用j表示列,用i表示每一列的行
for (j=2;j<=colume;j++)
{
    for(i=2;i<=row;i++)
    {
   
  wcol(j)=wcol(j)-wcol(j)[1];
    }
}
//减完以后对每一列的第一行赋值为0。因为刚才只是从第二行开始减,所以现在也要把第一行减去第一行的值,即直接赋值为0.倒数第一行倒数第二行都赋值为空,即"--"。因为倒数第一行和倒数第二行是数据自带的最大值和最小值,我并不需要。
for (j=2;j<=colume;j++)
{
   wcol(j)[1]=0;    //“"--"”表示此处的值为空
   wcol(j)[row-1]="--";    //“"--"”表示此处的值为空
   wcol(j)[row]="--";
   
}

//对每一列的值求最大值,并列在该列的最下面一个空格里
for(i=2;i<=colume;i++)
{
  wcol(i)[row+1]=max(wcol(i))
}

//然后用每一列都除以该列的最大值,从而进行归一化
for(i=2;i<=colume;i++)
{
  wcol(i)=wcol(i)/wcol(i)[row+1]
}

//除以最大值以后将最大值删掉
for(i=2;i<=colume;i++)
{
   wcol(j)[row+1]="--";
}



//然后对每一列归一化处理后的光强进行取自然对数
for(i=2;i<=colume;i++)
{
  wcol(i)=ln(wcol(i))
}

//对每一列初始的35个点线性拟合,并求出拟合直线的斜率,将斜率放在该列最后一行
//对于前面有坐标但是y值为空的情况,程序不会把他当做第一个点。考虑到点与点之间的间隔都相同,所以即使不是一一对应也没有关系,
//因为我们需要的是斜率
loop(ii, 2, colume)
{
        range dd = (1, $(ii));      
         fitlr iy:=dd  N:=35 ;
      
       wcol(ii)[row+1]=fitLR.b;

}

欢迎大家交流讨论~转载请注明出处~这么渣的代码,估计也没人转载吧

附件为练习用的txt,导入到origin中即可。新的代码:以下代码实现了对matrixT中每一列数据的平滑。


//以下代码将需要你输入待处理的数据所在的sheet的shortname,然后将目前每一列数据进行平滑,将平滑数据放在后面的列
//用作x坐标的列必须是数值,不能是导入txt时候的“x=23”这种形式
string sheetname$=sheet1;    //sheetname$这个string类型的变量名需要手动
//输入。如果能找到当前活动的workbook的worksheet的名字就好了
string bookname$=%H;   //得到当前处于活动状态的workbook的short name
range rtemp=[bookname$]sheetname$!;
//定义类型为range的名为rtemp的变量
int colnum=rtemp.nCols;    //得到当前活动状态的workbook的名为
//sheetname$的sheet有多少列
for(i=2;i<=colnum;i++)   //将当前sheet中的从第2列开始的列平滑,并
//输出到当前sheet的后面
{
range riy=[bookname$]sheetname$!wcol(i);
range roy=[bookname$]sheetname$!wcol(i+colnum);
smooth iy:=riy meth:=sg poly:=2 npts:=30 oy:=roy    //本行代码需要读者查询Labtalk中的smooth函数的各个输入参数的含义
}
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : matrix.txt
  • 2017-06-14 21:38:51, 3.37 M

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

总是会想到一些奇怪的问题,并且一定要弄清楚不可
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

钢铁中国

木虫 (小有名气)

为什么后面的代码变成灰色了。。。。。。。。
总是会想到一些奇怪的问题,并且一定要弄清楚不可
2楼2017-06-14 21:40:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shenyehui

铜虫 (正式写手)

送红花一朵
试试
3楼2017-06-24 16:45:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 钢铁中国 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 河北省自然科学基金 +5 Peterchao 2026-05-18 8/400 2026-05-24 11:58 by 晓晓爱翠翠
[基金申请] 西安交大新媒学院副院长用撤稿论文结题 +3 bjvtcliu 2026-05-24 5/250 2026-05-24 10:16 by kudofaye
[教师之家] 某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路! +4 zju2000 2026-05-21 5/250 2026-05-24 09:35 by songwz
[考博] 26/27申博自荐 10+4 ZXW0202 2026-05-22 9/450 2026-05-24 08:47 by bjvtcliu
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 hvkbtfonbv 2026-05-23 3/150 2026-05-24 08:01 by 9ps9vgkqva
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 pmo95bazuy 2026-05-23 7/350 2026-05-24 06:35 by fpo5ljpv91
[基金申请] 揭秘青基评审内幕:几个A才能顺利中标 +3 国自然国社科中 2026-05-23 4/200 2026-05-23 15:37 by 2000zf36392
[基金申请] 青B发送上会通知了吗 +5 chemBioBro 2026-05-22 7/350 2026-05-23 12:35 by zhuifengzhy
[考博] 博士申请 +3 焦晓明 2026-05-21 3/150 2026-05-23 11:26 by mlc840311
[论文投稿] 投稿求助,期刊 +4 希冀,有书读 2026-05-20 8/400 2026-05-22 10:16 by 希冀,有书读
[文学芳草园] 献血感触 +7 呀呀好傻 2026-05-19 13/650 2026-05-21 20:15 by 呀呀好傻
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +14 1234567wang 2026-05-17 16/800 2026-05-21 17:58 by 脆脆的饼干
[基金申请] 国自然评分 +4 无名者登山 2026-05-20 5/250 2026-05-21 16:35 by swuq
[基金申请] 国自然上会要求 +7 无名者登山 2026-05-18 11/550 2026-05-21 15:50 by draco1987
[基金申请] 提交了我也来说说感想 +9 fummck 2026-05-20 10/500 2026-05-21 14:17 by draco1987
[基金申请] 评审有感 +15 popular289 2026-05-18 26/1300 2026-05-21 10:35 by 西葫芦炒鸡蛋
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 8/400 2026-05-20 22:19 by Equinoxhua
[考博] 如果工作了想读博,可以边工作边读全日制嘛? 30+3 铁达火车 2026-05-18 5/250 2026-05-20 09:33 by tfang
[考博] 博士申请 +5 星…… 2026-05-18 6/300 2026-05-18 23:49 by 糊糊涂涂好
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
信息提示
请填处理意见