中易网

将以下C代码用Matlab语言编写

答案:2  悬赏:60  
解决时间 2021-04-27 22:10
  • 提问者网友:妖精ξ也會哭
  • 2021-04-27 18:49
pid控制

void pidcontrol(int u,int y)
{

ek=u-y;
duk=kp*(ek-ek1)+ki*ek+kd*(ek+ek2-ek1*2);
du=(int)duk;
if(duk>1) duk=1;
if(duk<-1) duk=-1;
dutypwm-=du;
if(dutypwm<4)
{
dutypwm=4;
}
if(dutypwm>60)
{
dutypwm=60;
}

EPwm1Regs.CMPA.half.CMPA = dutypwm; // Set compare A value
EPwm1Regs.CMPB = dutypwm; // Set Compare B value

EPwm2Regs.CMPA.half.CMPA = dutypwm; // Set compare A value
EPwm2Regs.CMPB = dutypwm; // Set Compare B value

EPwm3Regs.CMPA.half.CMPA = dutypwm; // Set compare A value
EPwm3Regs.CMPB = dutypwm; // Set Compare B value

ek2=ek1;
ek1=ek;
}
最佳答案
  • 二级知识专家网友:花一样艳美的陌生人
  • 2021-04-27 19:26
matlab是一种科学的计算语言,采用的是解释执行的方式,在配置比较水的机器(比如说我的),运行起来速度不敢恭维,但是他适合工程师用,快速建立起自己的运算平台,很多语法是类似c语言。你可以考察一下matlab的安装目录下extern下面lib库中的函数,可以发现,有很多的c语言代码,实际上,其内核有很多c的成分。
所以你应该可以明白了,可以运行,但是要把matlab的库函数包含在c编译库中。
你完全可以在extern中的example中,在matlab环境下面运行几个c代码试一试,当然所采用的指令是mex(把c语言用于matlab中),mcc把matalb代码转化为c代码,一些具体的参数,你可以用matlab强大的help工具获得。我们还可以一起探讨一下啊,给各邮箱之类的吧
全部回答
  • 1楼网友:花一样艳美的陌生人
  • 2021-04-27 19:35
步骤挺多的。matlab官方网站上曾经出过相关的在线研讨会,名字叫做“使用matlab coder从matlab生成c/c++代码”,大概有40分钟左右,注册的就可以看了。网址见参考资料~~~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息