在C 中创建时间变化的信号
Creating time varying signal in C++
我想创建信号r(t),这样:
r(t) = 1.......0<t<=30 sec
r(t) = -(1/16)*(t-30)+1 ...... 30 to 34 sec
r(t) = 0.75 ..... 34 to 50 sec
r(t) = +(1/16)*(t-54)+1......50 to 54 sec
r(t) = 1 ....54 to 60 sec
Signal sample rate(Accuracy need) = 0.01 sec
在这里我想开始使用
float r = 1
按照上述时间来改变这一点,并继续将这些值写入txt文件
MATLAB代码:
dt = 0.01;
T = [0:dt:80];
j = 1;
for i=0:dt:(30-dt)
r(j) = 1;
j = j+1;
end
for i=30:dt:(34-dt)
r(j) = (-1/16)*(i-30)+1;
j = j+1;
end
for i=34:dt:(50-dt)
r(j) = 0.75;
j = j+1;
end
for i=50:dt:(54-dt)
r(j) = 1/16*(i -54)+1;
j = j+1;
end
for i=54:dt:(80)
r(j) = 1;
j = j+1;
end
I am working on i7 intel ubuntu 14.06
[![void referencesignal()
{
ofstream ref1;
ref1.open("ref_gen.txt");
vector<float> r;
float dt = 0.01;
float i; float j = 0.0; float p;
for (i=j;i<=30;i=i+dt)
{
r.push_back(1);
}
j = i;
for (i= j+dt;i<=34;i=i+dt)
{
p = (-0.0625*(i-j)+1);
r.push_back(p);
}
j = i;
for (i=j+dt;i<=50;i=i+dt)
{
r.push_back(0.75);
}
j = i;
for (i=j+dt;i<=54;i=i+dt)
{
p = (0.0625*(i-54)+1);
r.push_back(p);
}
j = i;
for (i=j+dt;i<=80;i=i+dt)
{
r.push_back(1);
}
ostream_iterator<float> output_iterator(ref1,"n");
copy(r.begin(),r.end(),output_iterator);
}][1]][1]
https://i.stack.imgur.com/kt5bi.png
相关文章:
- Qt VTK交互风格的信号到小部件
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- C++取消引用指针.为什么会发生变化
- 为什么在读取文件大小时文件IO速度会发生变化
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- 如何在没有信号的情况下从C++执行QML插槽
- 线程之间的布尔停止信号
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 为什么cudaMemGetInfo报告设备内存总量的变化
- 当用户在qtablewidget中输入单元格时,如何获得信号?C++
- 有可能在信号处理程序中设置promise吗
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- 在条件变量中触发错误信号的频率是多少
- 如何避免LED在循环状态变化中闪烁?
- 当 I2C 值在C++中发生变化时收到通知
- 在信号处理程序中捕获C++未处理的异常并恢复应用程序
- 调试和自由执行中的信号处理
- 在C 中创建时间变化的信号
- 通知有关变量变化的线程(信号?)
- Qt - 当值发生变化时,QSpinBox 上每个失去焦点的信号是否有信号