利用 MATLAB 求解机械设计优化问题的分析周婷婷(能源与动力学院 ,油气 0701) 摘要 : MATLAB是目前国际上最流行的科学与工程计算的软件工具, 它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能
本文浅谈MATLAB在机械设计优化问题的几点应用
关键词 :MATLAB 约束条件机械设计优化引言 : 在线性规划和非线性规划等领域经常遇到求函数极值等最优化问题,当函数或约束条件复杂到一定程度时就无法求解,而只能求助于极值分析算法, 如果借助计算器进行手工计算的话,计算量会很大, 如果要求遇到求解极值问题的每个人都去用 BASIC,C 和 FORTRAN 之类的高级语言编写一套程序的话,那是非一朝一日可以解决的,但如用MATLAB 语言实现极值问题的数值解算,就可以避免计算量过大和编程难的两大难题,可以轻松高效地得到极值问题的数值解,而且可以达到足够的精度
1 无约束条件的极值问题的解算方法设有 Rosenbrock函数如下:f(X1,X2)=100(X2-X1*X1)2+(1-X1)2 求向量 X 取何值时, F(x)的值最小及最小值是多少
先用 MATLAB 语言的编辑器编写求解该问题的程序如下:%把函数写成 MATLAB 语言表达式fun=’100*(X(2)-X(1)*X(1)2+(1-X(1))2 %猜自变量的初值X0=[-1 2]; %所有选项取默认值options=[ ];%调用最优化函数进行计算
%函数最小值存放在数组元素options(8)中%与极值点对应的自变量值存放在向量X 里%计算步数存放在数组元素options(10)中[X,options]=fmins(fun,X0,options) ;%显示与极值点对应的自变向量X 的值
%显示函数最小值options(8) %显示函数计算步数options(10) 把上面