小王 发表于 2011-1-11 13:45:35

MATLAB的Fcn模块中如何实现二次函数表达式

本帖最后由 小王 于 2011-1-11 17:36 编辑

小弟要实现数学上的一个公式不晓得在MATLAB中该如何实现,敬请高手指点数学公式如下:
.cc.testrig.body_velocity_x为测得的变量!!敬请指点!谢谢诶!!要在MATLAB的函数中(如图所示)是该怎样实现呢??望指点!!谢谢诶

小王 发表于 2011-1-11 18:05:44

1# 小王
好的,谢谢提醒!!

ljelly 发表于 2011-1-11 19:27:02

本帖最后由 ljelly 于 2011-1-11 19:43 编辑

1# 小王
首先看函数前面的输入是什么,你这个函数是要对输入做哪些运算,输出是什么
简单的可直接写出来的就用Fcn模块
对于复杂一点的函数,你可以在M-editor中写好一个函数文件。然后将文件名和调用的参数写到Matlab Fcn模块中进行仿真,变量没有赋值的要先赋值,保证工作空间中有这个变量,以便映射到模型中相应的参数进行值传递

小王 发表于 2011-1-12 11:29:42

本帖最后由 小王 于 2011-1-12 11:36 编辑

3# ljelly 首先谢谢您的回复!!!
如图所示,我想请教下,这是在做EPS助力特性时运用图示所示的开关模型进行表示助力特性。那么关于助力特性函数第二个分界点:I=K(v)*(Td-1)中的K(v)在Fcn中是怎样表示出来的呢??经计算
K(v)=4.679288164283488+(-0.122324869704664)*( .cc.testrig.body_velocity_x)+0.000958688583010*(.cc.testrig.body_velocity_x)2那个2其实是cc.testrig.body_velocity_x的平方形式!

那么K(v)如何在MATLAB。Fcn表示呢。。。在Fcn框中该填写什么内容内,我按照上面的式子4.679288164283488+(-0.122324869704664)*( .cc.testrig.body_velocity_x)+0.000958688583010*(.cc.testrig.body_velocity_x)2
填写在Fcn的框中还是报错说是语法错误??为什么呢,希望予以指点!!还有我的那个速度改填写什么,是.cc.testrig.body_velocity_x还是testrig.body_velocity_x还是body_velocity_x??用加那个.点号吗???下面的if——else语句为我们的要实现的电流值。关键是这个K(v)在Fun中如何实现!!输入是速度是我汽车模型反馈回来的我不晓得我这样做是否正确,希望指点!谢谢!!


if
0<Td<1;
I=0
Else 1<Td<7
I=K(v)*(Td-1)
Else if
I=30

ljelly 发表于 2011-1-12 13:36:00

4# 小王

Fcn模块的输入只能有一个变量,但可以是向量
你的模型图中,输入是chesu,不知道是和哪个变量相关
如果你要实现K(v)的计算
就要把cc.testrig.body_velocity_x作为Fcn模块的输入,也就是代替chesu
然后在Fcn中输入
4.679288164283488+(-0.122324869704664)*(u)+0.000958688583010*(u.^2)
此时模块的输出就是K(v)了

小王 发表于 2011-1-12 14:22:22

5# ljelly
谢谢帮助,明白了,也就是说。在Fcn中的变量只能是u我的返回车速就是cc.testrig.body_velocity_x,chesu只不过是我的明的名字以便好记。这个问题解决了!!!谢谢!!非常感谢。。我还有一个小问题,u.和u有啥区别,我的车速返回应该是连续变量应该不用加那个.吧!!

ljelly 发表于 2011-1-12 15:38:10

5# ljelly
谢谢帮助,明白了,也就是说。在Fcn中的变量只能是u我的返回车速就是cc.testrig.body_velocity_x,chesu只不过是我的明的名字以便好记。这个问题解决了!!!谢谢!!非常感谢。。我还有一个小问题,u. ...
小王 发表于 2011-1-12 14:22 http://forum.simwe.com/images/common/back.gif
你应该看看matlab矩阵运算的基本知识
u是一个变量名称
.是为了运算产生的,可以是u*a, 也可以是u.*a
没有点的表示按矩阵知识的乘运算,也就是矩阵相乘
有点的是代表数组运算,每个元素都要乘
乘方^,除等运算也是如此

小王 发表于 2011-1-12 15:44:50

7# ljelly
好的,谢谢了!!

neca 发表于 2013-3-21 09:33:02

感谢版主,分析很详细!
页: [1]
查看完整版本: MATLAB的Fcn模块中如何实现二次函数表达式