当前位置:首页 > 工业控制 > 电子设计自动化

摘 要: 首先分析了MATLAB与VC++在悬置系统优化设计编程方面的优缺点,接着阐述了悬置系统的优化设计和MATCOM转化法的基本原理,给出了求解固有特性的m文件,通过创建优化平台,结合算例和操作步骤进行混合编程,详细地提出了一种高效的优化设计编程方法。通过在系统平台的应用,表明MATCOM转化法混合编程能无缝结合,大大缩短了优化设计的周期,提高了效率。
关键词: MATLAB;VC++;混合编程;优化设计;解耦

在工程计算中,多数工程的实现几乎都要涉及多目标函数的优化,常规的解决办法是运用MATLAB或VC++软件进行编程计算,但目前这些软件都还存在一些不足。一方面MATLAB虽有强大的计算能力和强大的数据处理能力,但是由于程序不能脱离其MATLAB环境运行,限制了程序的通用性和应用开发,不利于后续编程;另一方面Visual C++程序的代码运行效率高,界面设置交互性也比较好,但是由于在函数计算能力方面的不足,很大程度上加大了编程人员对一般数学函数和算法的工作量。通过合适的编译器,结合MATLAB和Visual C++混合编程能有助于界面开发和代码重用,而且算法精确度高,可扩展性强,混合编程连接性较好[1]。
近年来随着动力总成悬置系统设计工程的发展,绝大部分研发人员在系统设计时以系统的固有频率和解耦程度为合理设计目标,运用MATLAB的GUI界面实现优化面板设计,这在一定程度上可以很好地提高运算能力,但却制约了程序升级和改进的可扩展性能力。针对这些工程问题,本文提出了一种基于MATCOM转换法的VC++与MATLAB混合编程。传统的VC++与MATLAB混合编程一般是在VC++环境下调用MATLAB编写的函数,在函数参数传递方面多用MATLAB编写优化算法函数,总是将目标函数的匿名函数作为其参数之一,以此来达到优化目标函数的目的。然而在C++语言中是不能将函数作为参数调用的,关于VC++与MATLAB混编参数调用这方面的文章也相当少,本文提出了一种解决上述参数调用的方法。由于混编后的程序可以脱离MATLAB运行,程序的速度和效率都得到了极大的提升。本文充分发挥MATCOM转换法的优势,将高难度的算法研究与实际应用结合在一起,达到了程序简洁、编程效率提高和算法更易实现的目的。
1 悬置系统优化分析
1.1 悬置系统优化原理分析
一般情况下,都是把动力总成视为刚体,同时把动力总成悬置系统视为有3个移动自由度和3个转动自由度的一个空间6自由度振动系统,对应6个模态,包括前后移动模态、左右移动模态、上下移动模态、横向转动模态、纵向转动模态和左右转动模态,悬置系统模型如图1所示。


目前应用比较普遍的模态解耦度评价指标是用模态的能量比值概念来表示的。第j阶振型中第k个自由度的振动能量占该阶运动总能量的百分比可以表示为:


采用第二种MATCOM转化法,结合算例,将MATLAB中计算函数的m文件转化为VC++可识别的文件;接着,通过创建VC++工程,将所需文件加入工程目录中。
2 VC++与MATLAB混合编程的实现

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

数值计算方法是一种用于解决数学问题的方法,涉及到数值近似、数值逼近、数值积分、数值微分等等。算法设计是数值计算方法的核心,它包括了数值方法的数学原理和计算机实现的算法,能够有效地解决各种数学问题。

关键字: matlab 算法设计 数值积分

仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求过程和规律。它的基础是相似现象,相似性一般表现为两类

关键字: matlab 程序仿真 仿真模式

本文利用Matlab GUI设计通过串口进行数据发送和接收的界面,并利用内置于Matlab的串口通信API实现串口数据发送与接收功能。

关键字: matlab GUI 串口通信

信号处理工程师在开发工作的所有阶段都使用 MATLAB® 和 Simulink® — 从分析信号和探索算法,到评估设计实现的权衡,最终构建实时信号处理系统。

关键字: matlab 通信系统

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

关键字: matlab 程序设计 计算机视觉

表示机器的浮点运算误差限,在Matlab仿真实验开发中,eps的精度达到2.2204*10^-6,当运算的误差精度下于这个数值的时候,可以认为误差为零。

关键字: matlab 控制系统 Matlab仿真

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

关键字: matlab 工具箱 信号处理

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

Matlab是matrix laboratory的组合,意为矩阵实验室,软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

关键字: matlab 编程语言 数值分析

Matlab是matrix laboratory的组合,意为矩阵实验室,软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化。

关键字: matlab 矩阵实验室 软件
关闭
关闭