189 8069 5689

传递函数怎么用c语言 传递函数怎么用c语言表达

自动控制原理中,传递函数是怎么样转换成C语言的呢,才能在工控机上实时地运行。求解,

传递函数G(s)要离散化成G(z),然后变成差分方程,然后就可以用c语言编程了~

网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了龙湾免费建站欢迎大家使用!

比如Y(S)/U(S)=G(s)=1/(a*s+1);

用零阶保持器,你的采样周期是Ts(比如你的控制函数是在中断服务函数里实现的,那Ts就是你的中断周期),得到Y(z)/U(z)=G(z)=(1-z^(-1))*Z[G(s)/s]=[1-e^(-Ts/a)]/[z-e^(-Ts/a)]={[1-e^(-Ts/a)]*z^(-1)}/[1-e^(-Ts/a)*z^(-1)];

所以得到差分方程:y(k)=e^(-Ts/a)*y(k-1)+ (1-e^(-Ts/a))*u(k-1),k表示当前时刻。

如何用c语言编程实现一个传递函数?

既然是零阶保持输入,那手算的时候应该也有零阶保持器的吧。

既然离散系统,那么递推关系式也许可以吧。但是自己用C语言写,估计很麻烦,既然有Matlab就用Matlab算啊。

对于含有零阶保持器的离散系统的传递函数你可以上网搜,也可以参考自动控制原理的书籍啊! 至于Matlab使用的方面,实现ABCD可调节也是可以的,你可以搜索Matlab里关于syms或者input函数的使用。 也可以尝试学习GUI的编程。

用C语言怎么编写传递函数?

S域不好编写,你必须离散化传递函数,用Z变换转换为对应的传递函数,然后用c写就可以了。

c语言向函数传递函数作为参数

#include stdio.h

//---子函数声明---// 

int func1();

int func2(int (*func1)());        //形参为函数指针(即指向函数的指针) 

//---主函数---// 

int main(){

printf("向函数二传递函数一,\n即函数一作为函数二的参数。\n");

printf("%d ",func1());

printf("%d\n",func2(func1));//注意函数名即为函数地址!!!!!! 

}                                //实参为函数名func1或者func1,两者等价,而非func1() 

//---子函数定义---// 

int func1(){

return 1;

}

int func2(int (*func1)()){        //形参为函数指针(即指向函数的指针)

return func1()+1;

}


当前标题:传递函数怎么用c语言 传递函数怎么用c语言表达
文章出自:http://jkwzsj.com/article/hphjhd.html

其他资讯