[求助]请教有心人
<P>听同学说matlab程序可以转换成c语言格式,不知道怎么弄啊,用matlab程序可以直接仿真出图形啊,我用c语言就不知道怎么弄了,不知道怎么才结果显示图形啊,呵呵,哪位能给点帮助啊。<BR>(例如下面的matlab程序)<BR>%Increment PID Controller<BR>clear all;<BR>close all;</P><P>ts=0.001;<BR>sys=tf(400,);<BR>dsys=c2d(sys,ts,'z');<BR>=tfdata(dsys,'v');</P>
<P>u_1=0.0;u_2=0.0;u_3=0.0;<BR>y_1=0;y_2=0;y_3=0;</P>
<P>x=';</P>
<P>error_1=0;<BR>error_2=0;<BR>for k=1:1:1000<BR> time(k)=k*ts;<BR> <BR> rin(k)=1.0;<BR> kp=8;<BR> ki=0.10;<BR> kd=10;<BR> <BR> du(k)=kp*x(1)+kd*x(2)+ki*x(3); <BR> u(k)=u_1+du(k);</P>
<P> if u(k)>=10<BR> u(k)=10;<BR> end<BR> if u(k)<=-10<BR> u(k)=-10;<BR> end <BR> yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;<BR> <BR> error=rin(k)-yout(k);<BR> u_3=u_2;u_2=u_1;u_1=u(k);<BR> y_3=y_2;y_2=y_1;y_1=yout(k);<BR> <BR> x(1)=error-error_1; %Calculating P<BR> x(2)=error-2*error_1+error_2; %Calculating D<BR> x(3)=error; %Calculating I<BR> <BR> error_2=error_1;<BR> error_1=error;<BR>end<BR>plot(time,rin,'b',time,yout,'r');<BR>xlabel('time(s)');ylabel('rin,yout');</P>
回复:(aliang309)[求助]请教有心人
用mcc,论坛有很多关于混合编程的资料和讨论,你可以找出来看看
页:
[1]