⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 15-优化设计的分析与计算-1.m

📁 MATLAb 机械源码文件好东西啊
💻 M
字号:
% 例1-水槽定截面时周长最小的二维无约束优化
% 1----无约束优化函数命令程序
% 初始点
x0=[25;45];
% 调用梯度法搜索
[x,Fmin]=fminunc('sc_wysyh',x0);
disp '            ********    输出最优解    ********'
fprintf (1,'          截面高度h         x(1)* = %3.4f mm \n',x(1))
fprintf (1,'          斜边夹角theta     x(2)* = %3.4f 度 \n',x(2))
fprintf (1,'          截面周长s            f* = %3.4f mm \n',Fmin)

% 2----二维无约束优化目标函数文件(sc_wysyh.m)
function f=sc_wysyh(x)
a=64516;hd=pi/180;
f=a/x(1)-x(1)/tan(x(2)*hd)+2*x(1)/sin(x(2)*hd);

% 3----绘制水槽截面周长等高线和曲面图的程序
% 按(初值,终值,等分数)产生等间隔向量xx1,xx2
xx1=linspace(100,300,25);
xx2=linspace(30,120,25);
% 产生两个[5x10]的网格矩阵x1,x2
[x1,x2]=meshgrid(xx1,xx2);
% 定义目标函数
a=64516;hd=pi/180;
f=a./x1-x1./tan(x2*hd)+2*x1./sin(x2*hd);
% 将整个图形窗口分隔成2个子窗口,取左边窗口
subplot(1,2,1);
% 绘制等值线并标注函数值
h=contour(x1,x2,f);
clabel(h);
% 定义左边窗口坐标轴刻度范围
axis([100 300 30 120])
% 标注左边窗口和坐标轴
xlabel('高度 h (mm)')
ylabel('倾斜角 theta (度)')
title('目标函数(截面周长)等值线')
% 将整个图形窗口分隔成2个子窗口,取右边窗口
subplot(1,2,2);
% 绘制曲面图
surfc(x1,x2,f);
% 定义右边窗口坐标轴刻度范围
axis([100 300 30 120 600 1200])
% 标注右边窗口
title('目标函数(截面周长)曲面图')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -