金牌会员
- 积分
- 1304
- 威望
- 747
- 贡献
- 313
- 兑换币
- 10
- 注册时间
- 2011-11-6
- 在线时间
- 122 小时
|
2#
楼主 |
发表于 2012-2-9 16:09:59
|
只看该作者
自己看了一下有些地方写错了,修改后程序如下:
//只有比例作用
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j;
float et,kp,now_data,std_data,ut;
while(1)
{
printf("please input kp,std_data,now_data,i value.\n");
scanf("%f %f %f %d",&kp,&std_data,&now_data,&i);
for (j=0;j<i;j++)
{
et=std_data-now_data;
ut=kp*et;
now_data=now_data+ut;
printf("%f\n",now_data);
}
}
}
但是kp的值要小于2大于0, 否则就不对了或者产生震荡不知道是为什么.....希望有人能解答 |
|