aliang309 发表于 2006-5-13 21:28

[求助]请教有心人

<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)&gt;=10<BR>      u(k)=10;<BR>   end<BR>   if u(k)&lt;=-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>

NASA 发表于 2006-5-13 21:49

回复:(aliang309)[求助]请教有心人

用mcc,论坛有很多关于混合编程的资料和讨论,你可以找出来看看
页: [1]
查看完整版本: [求助]请教有心人