小循环中每隔一组数据求取之间的差值---小程序

for(i=0;i<100;i++)

{

int cnt;

if(cnt == 0)
{
firstNum[0]=x;
firstNum[1]=y;
firstNum[2]=z;
firstNum[3]=Q4;
firstNum[4]=Q5;
}
if(cnt == 3)
{
midNum[0]=x;
midNum[1]=y;
midNum[2]=z;
midNum[3]=Q4;
midNum[4]=Q5;
}
if(cnt == 4)
{
nextNum[0]=x;
nextNum[1]=y;
nextNum[2]=z;
nextNum[3]=Q4;
nextNum[4]=Q5;
pthread_rwlock_wrlock(&(SendDatatoSlave.rw_lock));
SendDatatoSlave.EndPositionDelta[0]=nextNum[0]-firstNum[0];
SendDatatoSlave.EndPositionDelta[1]=nextNum[1]-firstNum[1];
SendDatatoSlave.EndPositionDelta[2]=nextNum[2]-firstNum[2];
SendDatatoSlave.EndPositionDelta[3]=nextNum[3]-firstNum[3];
SendDatatoSlave.EndPositionDelta[4]=nextNum[4]-firstNum[4];
SendDatatoSlave.EndPositionDelta[5]=0;
SendDatatoSlave.EndVelocityDelta[0]=(nextNum[0]-midNum[0])/T;
SendDatatoSlave.EndVelocityDelta[1]=(nextNum[1]-midNum[1])/T;
SendDatatoSlave.EndVelocityDelta[2]=(nextNum[2]-midNum[2])/T;
SendDatatoSlave.EndVelocityDelta[3]=(nextNum[3]-midNum[3])/T;
SendDatatoSlave.EndVelocityDelta[4]=(nextNum[4]-midNum[4])/T;
SendDatatoSlave.EndVelocityDelta[5]=0;
SendDatatoSlave.EndForceRef[0]=result[0];
SendDatatoSlave.EndForceRef[1]=result[1];
SendDatatoSlave.EndForceRef[2]=result[2];
SendDatatoSlave.EndForceRef[3]=result[3];
SendDatatoSlave.EndForceRef[4]=result[4];
SendDatatoSlave.EndForceRef[5]=result[5];
data_log[0] = SendDatatoSlave.EndPositionDelta[0];
data_log[1] = SendDatatoSlave.EndPositionDelta[1];
data_log[2] = SendDatatoSlave.EndPositionDelta[2];
data_log[3] = SendDatatoSlave.EndPositionDelta[3];
data_log[4] = SendDatatoSlave.EndPositionDelta[4];
data_log[5] = SendDatatoSlave.EndPositionDelta[5];
data_log[6] = SendDatatoSlave.EndVelocityDelta[0];
data_log[7] = SendDatatoSlave.EndVelocityDelta[1];
data_log[8] = SendDatatoSlave.EndVelocityDelta[2];
data_log[9] = SendDatatoSlave.EndVelocityDelta[3];
data_log[10] = SendDatatoSlave.EndVelocityDelta[4];
data_log[11] = SendDatatoSlave.EndVelocityDelta[5];
data_log[12] = SendDatatoSlave.EndForceRef[0];
data_log[13] = SendDatatoSlave.EndForceRef[1];
data_log[14] = SendDatatoSlave.EndForceRef[2];
data_log[15] = SendDatatoSlave.EndForceRef[3];
data_log[16] = SendDatatoSlave.EndForceRef[4];
data_log[17] = SendDatatoSlave.EndForceRef[5];
pthread_rwlock_unlock(&(SendDatatoSlave.rw_lock));
cnt = 0;
}
cnt++;
}

}

时间: 2024-11-10 22:33:23

小循环中每隔一组数据求取之间的差值---小程序的相关文章

关于输入一组数据求最小的问题

问题链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1350 http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1408 两个问题,自己第一个代码是没有敲出来的,第二个代码虽然是搞定了, 但是在处理是分析不清楚,使用了两个for循环,导致时间上相对于别人的代码有很大的差距. 自己AC的1408: #include <iostream> #include <algorithm>

flask中的CBV , flask-session在redis中存储session , WTForms数据验证 , 偏函数 , 对象里的一些小知识

flask中的CBV , flask-session在redis中存储session , WTForms数据验证 , 偏函数 , 对象里的一些小知识 flask中的CBV写法 后端代码 # 导入views from flask import Flask, render_template, views, request app = Flask(__name__) # CBV写法 class Login(views.MethodView):       # 定义一个类,不用装饰器,继承了Method

求二叉树中相差最大的两个节点间的差值绝对值

题目描述: 写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值.请注意程序效率. solution: int findMinMax(BTNode *T) { if(!T) return 0; int max = INT_MIN; int min = INT_MAX; stack<BTNode*> s; s.push(T); while (!s.empty()) { BTNode *tmp = s.top(); if(tmp->d

oracle中number类型的数据使用as string 得到的值为null

1,如果数据的运行时类型(和数据库字段类型相同)不是字符串类型,比如number/date等,将ds.Tables[0].Rows[i][j] 调用 as string 时,不管 这个字段是否有值,这样都会得到null. as string 只会将 运行时类型为string的对象转为字符串,如果运行时类型不是string,就会得到 null 而不报错. 2,如果从数据库中查到的数据可能为null ,就调用Convert.ToString() 类转换. 如果它不会为Null,就直接调用 .ToSt

在VR中模拟用鼠标操作电脑并实现简单画图的小程序

(图没有录好,明天换一下) 一.概述 1.实现的基本操作是: 1)用手柄抓住黄色的方块代表手抓住鼠标. 2)通过移动手柄模拟鼠标移动,电脑屏幕上的光标跟着移动. 3)当光标移动到一个Button上时,Button高亮,离开时Button取消高亮,点击Button触发点击事件. 4)当点击Button之后,打开一个画图程序,可以用光标在颜色选择区选择一种颜色,然后在画图区根据光标的移动轨迹,画出选择颜色的光标移动路径的曲线: 2.脚本 1)ComputerController挂在代表电脑的Canv

爬虫:工作中编写的一个python爬取web页面信息的小demo

最近公司要求编写一个爬虫,需要完善后续金融项目的数据,由于工作隐私,就不付被爬的网址url了,下面总结下spider的工作原理. 语言:python:工具:jupyter: (1)使用requests模块,获取url页面. import requests url = "http://www.~~~~~~~~~~~~~~~~~~~~~~~~~~" r = requests.get(url) (2)解析html页面(若是pdf页面需要其他工具模块)需要使用BeautifulSoup模块,把

js中的数据类型转换(找相应的值小案例)

js中数据类型转换是一个很频繁会用到的一部分,那么在实际案例中会出现各种的数据类型,想要满足某些条件,那还必须要不同类型的数据进行转换,今天就通过一个小例子,来找出相对应的数据类型. 先看一个一个数组,数组里的内容很复杂,包含了所有的数据类型,然后我们通过不同的条件找到相对应的内容: var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], tr

Python问题求助--如何将循环程序中每次输入的数据循环使用,即退出当前循环程序后,再次运行该循环程序时可以使用原先输入的数据信息?

1 card_list = [] 2 3 4 def main_desk(): 5 print('*'*50) 6 print('欢迎使用[名片管理系统]V1.0') 7 print('1.新建名片') 8 print('2.显示全部') 9 print('3.查询名片') 10 print('0.退出系统') 11 print('*'*50) 12 13 14 def new_card(): 15 print('新建名片') 16 print('='*50) 17 name_str = inp

C语言求1-1/3+1/5-1/7+...——小程序,大道理

问题:用C语言编写程序求1-1/3+1/5-1/7+... 示例: 1 #include <stdio.h> 2 void main(){ 3 int n=1; 4 float sum=0,a=1; 5 while(a<=100){ 6 sum=sum+n/a; 7 n=-n; 8 a=a+2; 9 } 10 printf("%f\n",sum); 11 } 分析: 数列的求和问题,每一项正负交替,并且分母递增2. 首先,这是一个加法(累加)问题,涉及到被加数,加数,