找回密码
 注册
Simdroid-非首页
查看: 113|回复: 8

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

[复制链接]
发表于 2011-1-11 13:45:35 | 显示全部楼层 |阅读模式 来自 江苏镇江
本帖最后由 小王 于 2011-1-11 17:36 编辑

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

 楼主| 发表于 2011-1-11 18:05:44 | 显示全部楼层 来自 江苏镇江
Simdroid开发平台
1# 小王
好的,谢谢提醒!!
回复 不支持

使用道具 举报

发表于 2011-1-11 19:27:02 | 显示全部楼层 来自 北京
本帖最后由 ljelly 于 2011-1-11 19:43 编辑

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

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 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_x2那个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_x2
填写在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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 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有啥区别,我的车速返回应该是连续变量应该不用加那个.吧!!
回复 不支持

使用道具 举报

发表于 2011-1-12 15:38:10 | 显示全部楼层 来自 北京
5# ljelly  
谢谢帮助,明白了,也就是说。在Fcn中的变量只能是u我的返回车速就是cc.testrig.body_velocity_x,chesu只不过是我的明的名字以便好记。这个问题解决了!!!谢谢!!非常感谢。。我还有一个小问题,u. ...
小王 发表于 2011-1-12 14:22

你应该看看matlab矩阵运算的基本知识
u是一个变量名称
.是为了运算产生的,可以是u*a, 也可以是u.*a
没有点的表示按矩阵知识的乘运算,也就是矩阵相乘
有点的是代表数组运算,每个元素都要乘
乘方^,除等运算也是如此
回复 不支持

使用道具 举报

 楼主| 发表于 2011-1-12 15:44:50 | 显示全部楼层 来自 江苏镇江
7# ljelly
好的,谢谢了!!
回复 不支持

使用道具 举报

发表于 2013-3-21 09:33:02 | 显示全部楼层 来自 湖北武汉
感谢版主,分析很详细!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-1 09:11 , Processed in 0.044682 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表