NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

for循环中的数组数值索引

已解决!
转到解答
您好!
   小弟遇到的问题是:在公式节点里面编写c程序,想实现想c语言那样数组判断、计算(也就是数组的元素值与其位置要一一对上)。但是算不出来我想要的100个值!详细解析在附件的程序上标明了。期盼中...,万分感谢!
0 项奖励
1 条消息(共 9 条)
6,217 次查看
因为附件过大,我截取了部分数组波形,程序改为输出10个数值并保存。先感谢了!!
0 项奖励
2 条消息(共 9 条)
6,212 次查看
rar不能上传!继续上传压缩文件
0 项奖励
3 条消息(共 9 条)
6,210 次查看

你好像是需要检查C语言里面的语法,对么?你把该代码用C编译器编译一遍应该也不对的,所以,应该是一个C语言本身的问题。

 

况且你想做的应用看不太懂 数组判断、计算(也就是数组的元素值与其位置要一一对上),这个到底指的是一个什么样的目的呢? 程序里面的注释我也没看明白,你的第10个值代表的是什么呢? 有点晕。。。

0 项奖励
4 条消息(共 9 条)
6,180 次查看

十分感谢您的回复,是这样的,

1:例如一个数组0123431013564210...,我想通过循环找出2个零点作为一个周期开始和结束(如01234310),并将这个周期里面的个数平均分为8份(如01234310,就可以分为0,1,2,3,4,3,1,0共8份),再求分别第2份和第三份的数值和、第6份和第七份的数值和,然后求两者差值,即是(1+2)-(3+1)=-1,再找出下一个周期(如013564210)。

2:公式节点这个循环for(g=0;g<10;g++)表示求10次步骤1中的差值,再累加,求均值,输出到excel。

3:公式节点外面的for循环表示第二个步骤做10次

公式节点里面的i和x我用来表示数组的位置和对于的值

上述做法不知道对不?附上一个实际的波形图,我是个新手,表达不好,麻烦您了!

0 项奖励
5 条消息(共 9 条)
6,172 次查看
c语法我再检查下,主要问题是上述做法和接线是否合理,数组能否这样索引,数组的值和对于的位置能否对的上
0 项奖励
6 条消息(共 9 条)
6,169 次查看
之前的vi里面有点错,我改了下,i还不知道怎样连线才对,感觉有点难!因为第一点是零了,+1的意思是想从第二点开始判断,只需要找到下一个零点就可以确定一个周期了。
麻烦您更新下啦,其中c语言部分
for(k=i;k<n&&j<1;k++)
...
while(j==1)
  {e=n8-n0;  //一个周期的长度
   n4=e/2+n0;   //求出这一个周期的中点
...
0 项奖励
7 条消息(共 9 条)
6,156 次查看
解答
接受人 黄金

黄金同学,

        你的C语言程序看上去我不理解,很多地方都不理解你为什么这么写,至于循环10次做操作更是不理解,你已经找到了10个周期了,然后再循环10次,但怎么循环10次都是一样的啊。也许你是想找100个周期,我不理解这里。

 

        第二,你的数据一开始就来了几十个0, 所以我的程序就直接从100这个非0点开始,至于如果要找第一个非0点,也是非常简单,也就不讨论了。

 

        既然已经用LABVIEW了,能用图形化编程解决的办法,当然尽量利用图形化资源,不鼓励将LABVIEW作为一个C编译器用,而且LABVIEW也没有提供那么多C语言的调试办法。故帮你写了个LABVIEW的版本,完成你求10个周期和相加的功能。

 

        附上程序,供你参考

8 条消息(共 9 条)
6,154 次查看

非常感谢您!新手的我学习了。谢谢

0 项奖励
9 条消息(共 9 条)
6,144 次查看