首页/文章/ 详情

Amesim对任意图形积分

1年前浏览1639

学过高数的朋友们一定知道,在数学里微积分思想是多么的重要,我们平常做的工程计算里面含有大量的微积分计算,恰巧最近有学员问起这个虽然简单,但是十分有用的积分问题,我就简单讲一下。


问题来源:

最近在Amesim交流群中有位学员咨询Amesim如何对图形进行积分,好几位同学推荐使用联合仿真,利用matlab进行积分处理,实际上大可不必哈,Amesim就可以轻松搞定任意图形的积分问题。


简单积分:

为了方便我们快速的测试和验证,我们首先建立一个简单的模型,并用最简单的曲线进行验证。曲线是前4s由5增长到10,中间3s保持10,后面3s从10减到5这样的一个过程。

图1 输入曲线


我们用波段函数定义上述图形并增加积分元件,模型如下:

图2 简单积分模型


其中中间这个integrator元件,就是Amesim信号库中的积分元件,采用默认参数运算,即可得到如图3所示的结果,最终积分结果为82.5,与手动计算的A=30+30+22.5=82.5保持了一致,表明对曲线的积分计算完全没有问题。

图3 简单积分模型结果


区间积分:

既然如此,能否进行区间积分?当然是可以的,我们对图1所示的曲线前7s积分,积分结果应当是A1+A2=60,我们接下来建立模型进行验证:

图4 区间积分模型

在这个模型里面,我们可以看到在积分元件上部多了一个信号,这个信号实际上是积分元件的增益。所以我们只需要将增益信号的前7s设置为1,后面设置为0,就可以实现对前7s的区间积分了。前7s的积分结果如图5所示。

图5 区间积分结果


区间积分的处理:

由图5可知,前7s的积分结果为60,和计算结果一致。7s以后,由于增益信号为0,所以整个计算结果全部变为0了。虽然计算结果正确了,但是这样十分不方便,想一想,要是我们需要对一个曲线的多段积分,最终输出结果还需要我们手动计算进行累加,岂不是太不方便了?

这个时候呢,也很简单,让积分结果取最大值就好了,修改模型如下:

图6 区间积分结果后处理模型


只需要在积分元件后面,接一个最大值的处理元件,则就可以不断的对多个区间进行累加,不会在最终输出的曲线显示0了,对此我们依然对图1中曲线的前7s进行积分:

图7 区间积分结果后处理结果

从图7可以看出,在前7s积分过程中,积分结果一直增长,后3s不积分的时候积分结果不再变化了,固定在60不再变化了。


函数积分:

除了对简单的图形积分,我们还可以对函数进行积分。为了方便演示,我们做一个简单的函数进行计算,以f(x)=2*x^2+x进行x=0-5区间积分,建立Amesim模型如下:

图8 函数积分模型

其中,在f(x)函数元件里面,输入我们的方程表达式即可。

图9 函数表达式输入方法


计算结果如图10,可以看到前5s的积分结果是95.3多一点,大家也可以自己手动计算对比一下。

图10 函数表达式区间积分演示


通用复杂图形积分

在上面的内容介绍中,我们使用的都是规则的曲线和函数,那么怎样对一个复杂的曲线进行积分呢?

既然积分功能有了,我们就只需要把复杂的图形绘制出来就好了,Amesim信号库的1D data元件制作,data数据允许增加无限控制点绘制自由曲线,因此模型建立如下:

图11 任意曲线积分

图12 任意曲线积分结果

通过图12可以看出,我们对不规则的曲线也可以积分,右侧积分结果柱状图中可以看出积分增速。


思考

上文主要给大家演示了一下Amesim对曲线积分的功能,那肯定有同学要问了:

  • 能不能对曲面积分呢?答案是:当然可以的!

  • 本文正文第一张图中的积分能不能做?答案也是可以的!


Amesim的功能是十分强大,仅仅信号库130+个元件的组合使用,都可以完成非常多的计算了,何况还有那么多专业库呢,所以我经常感慨Amesim太强大了,感觉学不完的样子。


来源:Amesim学习与应用
通用控制曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-07-07
最近编辑:1年前
batt
本科 微信公众号:Amesim学习与应用
获赞 72粉丝 373文章 197课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈