振动加速度的一次积分得出速度,二次积分得出位移.但具体是怎样做呢? 假设加速度是2M/s^2,时间是500Ms,求
解决时间 2021-04-09 23:03
- 提问者网友:雾里闻花香
- 2021-04-09 17:21
求速度和位移? 最好能用C语言贴出来我看看. 我找到很多求定积分的C源程序,但不知道怎样将加速度值代入进去得出速度和位移.被积函数,上限,下限.像下面这段程序:
如果要将加速度2M/s^2代入进去,应该将被积函数改成怎样?,上限和下限对应的是时间吗?
#include "stdio.h"
double f(double x)
{ double y;
y=1+x*x;
return y;
}
double sab(double a,double b,int n)
{
double h,s;
int i;
h=(b-a)/n;
s=0;
for(i=1;is+=h*f(a+i*h);
return s;
}
void main()
{
double a,b,q;
int n;
scanf("%lf,%lf,%d",&a,&b,&n);
q=sab(a,b,n);
printf("%lf",q);
}
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-04-09 18:10
直接积分不是实用方法,因实际数据都混有噪声,每次积分将累积这些噪声(你可以想象一个小的常量经长时间积分变得巨大、乃至无穷大),也就是形成所谓趋势项。
可参考频域积分法:王济,... Matlab在信号处理中的应用,超星上有的。
全部回答
- 1楼网友:孤独入客枕
- 2021-04-09 20:32
是的。
用语言表述的加速度没有正负号,不管是减速的还是加速。而在计算的时候,为了区别加速和减速是要加上正负号的。
比如:我们可以说一个物体做匀减速直线运动,加速度为2m/s²。在计算的时候就要加上负号了。
- 2楼网友:未来江山和你
- 2021-04-09 20:04
如果是简谐振动,那只有在质点过零瞬间加速度达到最大值2m/s²,而并非所有时刻都是。其函数为正弦曲线,与位移曲线相差90°。所以速度也是变化的,位移也是变化的。除非你这500ms小于半个周期,否则积分算出来也是错的。
1. 几个自由度? 2. 有无阻尼? 3. 受迫与否?
假如是最简单的“单自由度无阻尼简谐振动”:
那么,运动方程属于“二阶常系数线性微分方程”,其通解是三角函数,根本用不着采用积分;
直接输入数值,用C++自带的三角函数就能求出"位移";
同理,可以得到”速度“;
然后根据初相位、运动时间、周期的关系,编程判断出经过了几次平衡点,再结合振幅和先前求出的位移,就能求出“路程"。
另外,毕业好多年,这函数看得不甚理解。但里面明显只有下限a、上限b和迭代次数n这三个变量,只是一个单纯的数学函数的编程,缺少其他力学量的输入函数,所以和振动这个现象没有毛线的关系,所以你根本用不到这个程序。
我要举报
大家都在看
推荐资讯