Matlab优化设计作业答案

合集下载

MATLAB作业1 参考答案

MATLAB作业1 参考答案

MATLAB 作业1参考答案1 、在你的机器上安装MATLAB 语言环境,并键入demo 命令,由给出的菜单系统和对话框原型演示程序,领略MATLAB 语言在求解数学问题方面的能力与方法。

【求解】略.2、启动MATLAB 环境,并给出语句tic, A=rand(500); B=inv(A); norm(A*B-eye(500)),toc ,试运行该语句,观察得出的结果,并利用help 命令对你不熟悉的语句进行帮助信息查询,逐条给出上述程序段与结果的解释。

【求解】在MATLAB 环境中感触如下语句,则可以看出,求解500500⨯随机矩阵的逆,并求出得出的逆矩阵与原矩阵的乘积,得出和单位矩阵的差,得出范数。

一般来说,这样得出的逆矩阵精度可以达到1210-。

>> tic, A=rand(500); B=inv(A); norm(A*B-eye(500)), tocans =1.2333e-012Elapsed time is 1. seconds.3、试用符号元素工具箱支持的方式表达多项式5432()34236f x x x x x x =+++++,并令11s x s -=+,将f(x) 替换成s 的函数。

【求解】可以先定义出f 函数,则由subs() 函数将x 替换成s 的函数>> syms s x;f=x^5+3*x^4+4*x^3+2*x^2+3*x+6;F=subs(f,x,(s-1)/(s+1)) F =(s-1)^5/(s+1)^5+3*(s-1)^4/(s+1)^4+4*(s-1)^3/(s+1)^3+2*(s-1)^2/(s+1)^2+3*(s-1)/(s+1)+6syms x sx=(s-1)./(s+1);y=x.^5+3*x.^4+4*x.^3+2*x.^2+3*x+6;ysimple(y)y=19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^54、用MATLAB 语句输入矩阵A 和B123414233241432141322314,234123324114324132234114j j j j j j j j A B j j j j j j j j ++++⎡⎤⎡⎤⎢⎥⎢⎥++++⎢⎥⎢⎥==⎢⎥⎢⎥++++⎢⎥⎢⎥++++⎣⎦⎣⎦前面给出的是4 ×4 矩阵,如果给出A(5; 6) = 5 命令将得出什么结果?【求解】用课程介绍的方法可以直接输入这两个矩阵>> A=[1 2 3 4; 4 3 2 1; 2 3 4 1; 3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1若给出A(5,6)=5 命令,虽然这时的行和列数均大于B 矩阵当前的维数,但仍然可以执行该语句,得出>> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5复数矩阵也可以用直观的语句输入>> B=[1+4i 2+3i 3+2i 4+1i; 4+1i 3+2i 2+3i 1+4i;2+3i 3+2i 4+1i 1+4i; 3+2i 2+3i 4+1i 1+4i];B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i5、假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。

MATLAB课后习题集附标准答案

MATLAB课后习题集附标准答案

第2章MATLAB概论1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MA TLAB系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.5、如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成.在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上.9、在MA TLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器.(2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息.(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数.(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数.注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息.第3章 MATLAB 数值运算3.1在MA TLAB 中如何建立矩阵⎥⎦⎤⎢⎣⎡194375,并将其赋予变量a ? 答:在Command Window 窗口输入操作:>> a=[5 7 3;4 9 1]3.2有几种建立矩阵的方法?各有什么优点? 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;(2)通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据.3.3在进行算术运算时,数组运算和矩阵运算各有什么要求?答:进行数组运算的两个数组必须有相同的尺寸.进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数.渗釤呛俨匀谔鱉调硯錦。

MATLAB习题及参考答案经典.doc

MATLAB习题及参考答案经典.doc

习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。

2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。

3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。

4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。

(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。

(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。

(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。

(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。

(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。

(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。

(应用pinv) 12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。

(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。

Matlab作业习题与答案详解(附程序)

Matlab作业习题与答案详解(附程序)

Matlab作业习题与答案详解(附程序)clear all;clc;close all;x=-10:0.01:20;y=4*sin(x)./x;ymin=min(y)二、蒙特卡罗算法的数值计算当前的油位高度是2.3米,见图1。

模拟油流进储油罐的过程(图维数任选),请计算罐内油量。

三维的效果图参见图2。

储油罐由两部分组成,中间是圆柱体,两端是球罐体。

(本题简化自2011年UCMCM A题《储油罐的变位识别与罐容表标定》,细节参见原题原题附件2 cumcm2010A.doc。

)图1图2主程序:clc;clear all;close all;center1=[-3.375,0,1.5]; %左球罐中心center2=[3.375,0,1.5]; %右球罐中心n=10000; %每次的撒点数delta=0.02; %层高h=3;en=h/delta;Show; %画出油罐for i=0:en-1x=(rand(1,n)-0.5)*10; %随机生成n个点y=(rand(1,n)-0.5)*h;z=(rand(1,n)*delta+i*delta);Z=[x;y;z];[dis1dis2]=juli(center1,center2,Z); %算出各点对应的距离index=find(((x>-4&x<4)&dis2<1.5)|(x<-4|x>4)&dis1<1.625); %找出在罐内的点plot3(x(index),y(index),z(index),'.k'); %画出在罐内的点drawnowend子程序1:function [dis1 dis2]=juli(a,b,q)d11=q(1,:)-a(1);d12=q(2,:)-a(2);d13=q(3,:)-a(3);d1=sqrt(d11.^2+d12.^2+d13.^2);d21=q(1,:)-b(1);d22=q(2,:)-b(2);d23=q(3,:)-b(3);d2=sqrt(d21.^2+d22.^2+d23.^2);d1(d1>d2)=d2(d1>d2);dis1=d1;dis2=sqrt(d12.^2+d13.^2);子程序2:function tu=Show%===圆柱部分==figure('color','w')h=3;y='3/2*cos(s)';z='3/2*sin(s)+1.5';x='t';ezmesh(x,y,z,[0 pi*2 -4 4]);axis equalhidden offhold on%===左罐部分==z='cos(s)*(2.6406-t.^2).^(1/2)+1.5'; y='sin(s)*(2.6406-t.^2).^(1/2)';x='t-3.375';ezmesh(x,y,z,[0 pi*2 -1.625 -0.625]);axis equalhidden offhold on%===右罐部分===z='cos(s)*(2.6406-t.^2).^(1/2)+1.5';y='sin(s)*(2.6406-t.^2).^(1/2)';x='t+3.375';ezmesh(x,y,z,[0 pi*2 0.625 1.625]);colormap(gray)axis equalhold onaxis offhidden off三、元胞自动机的简单应用1.简单交通流模拟请模拟一个4车道的交通流,车辆密度为0.3,其余规则自行定义。

matelab作业2参考答案

matelab作业2参考答案

matelab作业2参考答案Matlab作业2参考答案Matlab作业2是一项综合性的任务,要求学生运用Matlab编程语言解决一系列数学问题。

本文将为大家提供一份参考答案,帮助学生更好地理解和完成这项作业。

首先,我们将讨论作业的第一个问题,即给定一个矩阵A,求解其特征值和特征向量。

在Matlab中,可以使用eig函数来实现这一功能。

例如,假设我们有一个3×3的矩阵A,可以按照以下方式计算其特征值和特征向量:```A = [1 2 3; 4 5 6; 7 8 9];[eigenvectors, eigenvalues] = eig(A);```在上述代码中,变量eigenvectors将存储A的特征向量,而变量eigenvalues 将存储A的特征值。

通过打印这两个变量的值,我们可以得到矩阵A的特征值和特征向量。

接下来,我们将探讨作业的第二个问题,即求解线性方程组。

假设我们有一个3×3的系数矩阵A和一个3×1的常数向量b,我们需要求解方程组Ax=b。

在Matlab中,可以使用backslash运算符来求解线性方程组。

例如,假设我们有以下方程组:```A = [1 2 3; 4 5 6; 7 8 9];b = [10; 20; 30];x = A \ b;```在上述代码中,变量x将存储方程组的解。

通过打印变量x的值,我们可以得到方程组的解。

此外,作业的第三个问题要求学生使用Matlab绘制函数图像。

在Matlab中,可以使用plot函数来实现这一功能。

例如,假设我们要绘制函数y=sin(x),其中x的取值范围为0到2π,可以按照以下方式绘制函数图像:```x = 0:0.1:2*pi;y = sin(x);plot(x, y);```在上述代码中,变量x将存储x的取值范围,变量y将存储对应的函数值。

通过调用plot函数,我们可以将函数y=sin(x)的图像绘制出来。

优化设计习题答案

优化设计习题答案

第一、填空题1.组成优化设计数学模型的三要素是 设计变量 、 目标函数 、 约束条件 。

2。

函数()22121212,45f x x x x x x =+-+在024X ⎡⎤=⎢⎥⎣⎦点处的梯度为120-⎡⎤⎢⎥⎣⎦,海赛矩阵 为2442-⎡⎤⎢⎥-⎣⎦3。

目标函数是一项设计所追求的指标的数学反映,因此对它最基本的要求是能用来评价设计的优劣,,同时必须是设计变量的可计算函数 .4。

建立优化设计数学模型的基本原则是确切反映 工程实际问题,的基础上力求简洁 。

5.约束条件的尺度变换常称 规格化,这是为改善数学模型性态常用的一种方法。

6。

随机方向法所用的步长一般按 加速步长 法来确定,此法是指依次迭代的步长按一定的比例 递增的方法。

7。

最速下降法以 负梯度 方向作为搜索方向,因此最速下降法又称为 梯度法,其收敛速度较 慢 .8.二元函数在某点处取得极值的充分条件是()00f X ∇=必要条件是该点处的海赛矩阵正定9.拉格朗日乘子法的基本思想是通过增加变量将等式约束 优化问题变成 无 约束优化问题,这种方法又被称为 升维 法。

10改变复合形形状的搜索方法主要有反射,扩张,收缩,压缩11坐标轮换法的基本思想是把多变量 的优化问题转化为 单变量 的优化问题 12.在选择约束条件时应特别注意避免出现 相互矛盾的约束, ,另外应当尽量减少不必要的约束 。

13.目标函数是n 维变量的函数,它的函数图像只能在n+1, 空间中描述出来,为了在n 维空间中反映目标函数的变化情况,常采用 目标函数等值面 的方法.14.数学规划法的迭代公式是 1k k k k X X d α+=+ ,其核心是 建立搜索方向, 和 计算最佳步长15协调曲线法是用来解决 设计目标互相矛盾 的多目标优化设计问题的。

16。

机械优化设计的一般过程中, 建立优化设计数学模型 是首要和关键的一步,它是取得正确结果的前提。

二、名词解释 1.凸规划对于约束优化问题()min f X..s t ()0j g X ≤ (1,2,3,,)j m =⋅⋅⋅若()f X 、()j g X (1,2,3,,)j m =⋅⋅⋅都为凸函数,则称此问题为凸规划。

matlab作业3参考答案

matlab作业3参考答案

matlab作业3参考答案Matlab作业3参考答案Matlab作业3是一个综合性的编程任务,要求学生运用Matlab的各种功能和工具来解决实际问题。

本文将提供Matlab作业3的参考答案,并对其中的关键步骤和思路进行详细解释。

一、问题描述在本次作业中,学生需要解决一个关于图像处理的问题。

具体来说,给定一张彩色图像,学生需要编写Matlab代码来实现以下功能:1. 将彩色图像转换为灰度图像;2. 对灰度图像进行高斯滤波;3. 对滤波后的图像进行边缘检测;4. 对边缘图像进行二值化处理。

二、解决方案1. 将彩色图像转换为灰度图像首先,我们需要读取彩色图像。

可以使用Matlab的imread函数来实现。

然后,使用rgb2gray函数将彩色图像转换为灰度图像。

代码如下:```matlabrgbImage = imread('image.jpg');grayImage = rgb2gray(rgbImage);```2. 对灰度图像进行高斯滤波接下来,我们需要对灰度图像进行高斯滤波。

高斯滤波是一种常用的图像平滑方法,可以有效地去除图像中的噪声。

Matlab提供了fspecial函数来生成高斯滤波器。

代码如下:```matlabh = fspecial('gaussian', [3 3], 1);filteredImage = imfilter(grayImage, h);```3. 对滤波后的图像进行边缘检测在这一步中,我们需要对滤波后的图像进行边缘检测。

边缘检测可以帮助我们找到图像中的边缘和轮廓。

Matlab提供了多种边缘检测算法,如Sobel算子和Canny算子。

代码如下:```matlabedgeImage = edge(filteredImage, 'canny');```4. 对边缘图像进行二值化处理最后,我们需要对边缘图像进行二值化处理,将图像中的边缘转换为黑白两种颜色。

最优化方法及其matlab程序设计习题答案

最优化方法及其matlab程序设计习题答案

证明:根据严格凸函数定义证明。
定义:对任意x ̸= y,及任意实数λ ∈ (0, 1)都有f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y).
充分条件:∀x, y ∈ ℜn, 有f (x + y) ≤ f (x) + f (y)
对任意x ̸= y,及任意实数λ ∈ (0, 1)都有f (λx+(1−λ)y) ≤ f (λx)+f ((1−λ)y)
8
k= 2 (2)阻尼牛顿法 function He=Hesstwo(x) n=length(x); He=zeros(n,n); He=[8, 0; 0, 2]; ≫ x0=[0,1]’;[x val k]=dampnm(’funtwo1’,’gfuntwo1’,’Hesstwo’,x0) x= 1 2 val = -8 k= 1 第3题. function f=fun(x) f = (x(1) − 2)4 + (x(1) − 2 ∗ x(2))2; function gf=gfun(x) gf = [4 ∗ (x(1) − 2)3 + 2 ∗ (x(1) − 2 ∗ x(2)), −4 ∗ (x(1) − 2 ∗ x(2))]′; ≫clear all; ≫x0=[0 3]’;[v,val,k]=grad(’fun’,’gfun’,x0)
(1

λ)y)=
1 2
(λx
+
(1

λ)y)T
G(λx
+
(1

λ)y)
+
bT
(λx
+
(1

λ)y)
λf
(x)

(完整版)MATLAB作业2参考答案

(完整版)MATLAB作业2参考答案

(完整版)MATLAB作业2参考答案MATLAB 作业⼆参考答案1、试求出如下极限。

【求解】极限问题可以由下⾯语句直接求解。

>> syms x; f=(x+2)A(x+2)*(x+3)A(x+3)/(x+5F(2*x+5); limit(f,x,i nf) ans = exp(-5) >> syms x yfa=(x A 2*y+x*y A 3)/(x+y)A 3; limit(limit(fa,x,-1),y,2) ans = -6>> fc=(1-cos(xA2+yA2))*exp(xA2+yA2)/(xA2+yA2); limit(limit(fc,x,O),y,O) ans = 02、试求出下⾯函数的导数。

(1) y(x) . xsinx 、1e x , (2) atan yIn(x 2 y 2)x【求解】由求导函数diff() 可以直接得出如下结果,其中 (2)为隐函数,故需要⽤隐函数求导公式得出导数。

>> syms x;f=sqrt(x*si n( x)*sqrt(1-exp(x))); simple(diff(f)) ans =1/2/(x*s in (x)*(1-exp(x))A(1/2))A(1/2)*(si n(x)*(1-exp(x))A(1/2)+ x*cos(x)*(1-exp(x))A(1/2)-1/2*x*sin (x)/(1-exp(x))A(1/2)*exp(x)) >> syms x,y; f=ata n(y /x)_log(xA2+yA2); f1=simple(-diff(f,x)/diff(f,y)) f1 =(y+2*x)/(x-2*y)2 23、假设U cos 1 J *,试验证⼀———。

\y x y y x【求解】证明⼆者相等亦可以由⼆者之差为零来证明,故由下⾯的语句直接证明。

>> syms x y; u=acos(x/y); diff(diff(u,x),y)-diff(diff(u,y),x) ans =(1) limx (x 2)x 2(x 3)x3(x 5)2x 52..x y lim y 21(x xy 3y)3H xy2Xos2Xe2o o2xyt 2x2f2f2f4、假设 f (x, y) e dt ,试求 22 2y x x yy【求解】由下⾯的命令可以得出所需结果。

优化设计大作业参考答案(优秀作品)

优化设计大作业参考答案(优秀作品)

结构优化设计课程大作业学生姓名学号任课教师导师姓名南京航空航天大学2017年 6月目录第一部分基本知识作业1.题3.21 (3)2.题4.73 (4)3.题5.24 (6)4.题8.37 (8)5.题8.51 (10)6.题11.24 (12)第二部分遗传算法1.wood function函数 (14)2.Powell奇异函数 (17)3.Schaffer’s函数 (18)第三部分附件3.21 Solve the rectangular beam problem of exercise 2.17 graphically for the following data.Mpa Mpa KN V m KN M a a 3,8,150,*80====τδ解:将exercize 2.17中求梁横截面积最小值的问题用数学描述如下所示。

Minimize S=bdSubject to ;0,;075.0;06.02≥≤≤d b bd bd用Matlab 作图可得如下所示。

图1:题3.21示意图从图中可以清楚地看到,在可行域内,最小值的所在点为(0.8,0.09375),最小值为0.075.4.73 Minimize f(x,y)=(x-8)2+(y-8)2;Subject to 0,612≥≤≤+y x x y x解:设)()()6()12()8()8(),,,(24423322221122s y u s x u s x u s y x u y x v u y x L +-++-++-++-++-+-=(u 1,u 2,u 3,u 4是拉格朗日乘子,s 1,s 2,s 3,s 4是松弛变量) 由KKT 条件可得:;0,0,0,0)(;02)(;02)(;02)(;02;0;0;0;0;0;06;0;0120)8(20)8(2432144332211242423232222212141321≥≥≥≥====≥=+-≥=+-≥=+-≥=+-+=-+-=∂∂=-++-=∂∂u u u u d s u c s u b s u a s u s s y s s x s s x s s y x u u y yLu u u x x L从其中的(a),(b),(c),(d)四项转换条件以下16种情况依次求解各种情况,并进行比较可得,在case12这种情况可得最优点(6,6),最小值为8;如下图(2)所示。

基于Matlab的机械优化设计课后题

基于Matlab的机械优化设计课后题

基于Matlab的机械优化设计课后题1.一维搜索法说明:采用0.618法进行编程代码如下:syms tf=(需要计算的函数)x1=0;h=2;f1=subs(f,x1);x2=x1+h;f2=subs(f,x2);f3=f2-1;t=1;if (f1-f2)>0while f3<f2f3=subs(f,x2+t*h);t=t+1;endx3=x2+t*h;elsef3=f2;f2=f1;t=1;f1=f2-1;x3=x2;x2=x1;while f1<f2f1=subs(f,x2-t*h);t=t+1;endx1=x2-t*h;enda=x1;b=x3;e=1e-05;k=0.618;a1=b-k*(b-a);a2=a+k*(b-a);f1=subs(f,a1);f2=subs(f,a2);c=(b-a)/2;while c>eif f1>f2a=a1;a1=a2;a2=a+k*(b-a);f1=f2;f2=subs(f,a2);elseb=a2;a2=a1;a1=b-k*(b-a);f2=f1;f1=subs(f,a1);endc=(b-a)/2;end实际运行结果如下:1. t=a1=5;f=11;2. t=a1=3.2796;f=22.6590;3. t=a1=2;f=1.1122e-011;2.无约束的优化设计说明:一共采用了三种算法的编程首先要建立步长函数,步长函数代码如下:function az=buchang(x,d,f)b=symvar(f);syms aaxn=x-d*aa;pa=subs(f,b,xn);pd=diff(pa,aa);aa=solve(pd);aa=real(aa);aa=subs(aa);n=size(aa,1);z=zeros(1,n);for i=1:nxn(:,i)=x-aa(i)*d;endfor i=1:nz(i)=subs(f,b,xn(:,i));ends=z(1);c=1;for i=1:n-1if s>z(i+1)s=z(i+1);c=i+1;endendaz=aa(c);end1.DFP:·¨syms (函数中的变量)f=(所需要优化的函数)x0=;b=symvar(f);n=size(b,2);g=cell(n,1);G=cell(n,n);H0=eye(n,n);for i=1:ng{i,1}=diff(f,b(i));endfor i=1:n %²úÉúº£Èû¾ØÕófor j=1:nG{j,i}=diff(g{i},b(j));endendg0=subs(g,b,x0);d0=H0*g0;a=buchang(x0,d0,f);x1=x0-a*d0;xcha=x1-x0;dis=mo(xcha);k=1while dis>1e-5g1=subs(g,b,x1);if g1==0Gy=subs(G,b,x1)breakendy0=g1-g0;s0=x1-x0;H1=H0+(s0*s0')/(s0'*y0)-(H0*y0*y0'*H0)/(y0'*H0*y0); d1=H1*g1;a=buchang(x1,d1,f);x2=x1-a*d1;g0=g1;x0=x1;x1=x2;H0=H1;xcha=x1-x0;dis=mo(xcha);x1subs(f,b,x1)k=k+1end2.坐标轮换法:syms t1t2f=(t1^2+t2-11)^2+(t1+t2^2-7)^2;b=symvar(f);n=size(b,2);A=eye(n,n);x0=[1;1];dis=1;k=0;while dis>1e-5if k==30breakende=A(:,1);a=buchang(x0,e,f);x1=x0-e*a;i=2;while i<n+1e=A(:,i);a=buchang(x1,e,f);x2=x1-e*a;x1=x2;i=i+1;endxcha=x1-x0;dis=mo(xcha);x0=x1;k=k+1x0end3.鲍威尔法:syms t1t2t3t4f=(t1+10*t2)^2+5*(t3-t4)^2+(t2-2*t3)^4+10*(t1-t4)^4;x0=[3;-1;0;1];b=symvar(f);n=size(b,2);A=eye(n,n);dis=1;while dis>1e-6F0=subs(f,b,x0);e=A(:,1);a=buchang(x0,e,f);x1=x0-e*a;i=2;fz=zeros(1,n);while i<n+1e=A(:,i);fd=subs(f,b,x1);fz(1,i-1)=fd;a=buchang(x1,e,f);x2=x1-a*e;x1=x2;i=i+1;endxcha=x1-x0;dis=mo(xcha);d=x1-x0;x=x1+d;F2=subs(f,b,x1);F3=subs(f,b,x);fz=[F0,fz];cz=zeros(1,n);for i=1:ncz(i)=fz(i)-fz(i+1);endczm=max(cz);m=find(czm);P1=F3-F0;P2=(F0-2*F2+F3)*(F0-F2-czm)^2-0.5*czm*(F0-F3)^2;if P1<0&&P2<0a=buchang(x1,d,f);x0=x1-a*d;A(:,m)=[];A=[A,d];elseif F2<F3x0=x1;elsex0=x;endendx0end实际运行结果如下:1.x=[5;6];f=02.x=[3;2];f=03.x=[3;0.5];f=0.52978;4.x=[0.1239;0.2844];f=5.8969;5.x=[0;0;0;0];f=0;3.约束优化方法程序说明:本题采用matlab自带的fmincon函数来解决非线性优化问题具体代码如下:1. function y=fun1(x)y=(x(1)-2).^2+(x(2)-1).^2;endfunction [c,ceq]=gt1(x)c=x(1).^2-x(2);ceq=[];endA=[1,1];b=2;x0=[1;2];lb=[];ub=[];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun1,x0,A,b,[], [],lb,ub,@gt1);运行结果如下:x=[1;1];fval=12. function y=fun2(x)y=x(2).^3*((x(1)-3).^2-9)/(27*sqrt(3));endA=[-1/sqrt(3),1;-1,1/sqrt(3);1,1/sqrt(3)];b=[0;0;6];x0=[2;3];lb=[0;0];ub=[];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun2,x0,A,b,[], [],lb,ub)运行结果如下:X=[4.5000;2.5981];f=-2.5313;备注:引用函数并未能够达到最优点,原因不明;3. function y=fun3(x)y=1000-x(1).^2-2*x(2).^2-x(3)^2-x(1).*x(2)-x(1).*x(3);endfunction [c,cev]=gt2(x)c=[];cev(1)=x(1).^2+x(2).^2+x(3).^2-25;cev(2)=8*x(1)+14*x(2)+7*x(3)-56;endA=[];b=[];Aq=[];bq=[];lb=[0;0;0];ub=[];x0=[2;2;2];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun3,x0,A,b,Aq, bq,lb,ub,'gt2')运行结果如下:x= [3.5121;0.2170;3.5522];f= 961.7152;exitflag =4备注:引用函数由于算法在迭代过程中产生了NaN,迭代被迫终止4. function y=fun4(x)y=100*(x(2)-x(1).^2).^2+(1-x(1)).^2+90*(x(4)-x(3).^2).^2+(1-x(3))^2+1 0*((x(2)-1).^2+(x(4)-...1).^2)+19.8*(x(2)-1)*(x(4)-1);endA=[];b=[];Aq=[];bq=[];lb=[-10;-10;-10;-10];ub=[10;10;10;10];x0=[-3;-1 ;-3;-1];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun4,x0,A,b,Aq, bq,lb,ub)运行结果如下:X=[1.0001;1.0002;0.9999;0.9997];f=0;exitflag=5 备注:原始对偶问题没有可行解。

matlab作业六参考答案

matlab作业六参考答案

matlab作业六参考答案Matlab作业六参考答案在本次作业中,我们将探讨一些与Matlab相关的问题,并给出相应的参考答案。

希望这些答案能够帮助大家更好地理解和掌握Matlab的使用。

一、Matlab基础知识1. 什么是Matlab?Matlab是一种高级技术计算语言和环境,用于数值计算、数据分析和可视化。

它提供了丰富的函数库和工具箱,可以用于各种科学和工程计算任务。

2. 如何定义和访问矩阵?在Matlab中,可以使用方括号定义矩阵。

例如,A = [1 2 3; 4 5 6; 7 8 9]定义了一个3x3的矩阵A。

可以使用A(i, j)来访问矩阵中的元素,其中i和j分别表示行和列的索引。

3. 如何进行矩阵运算?Matlab提供了丰富的矩阵运算函数。

例如,可以使用*运算符进行矩阵乘法,A*B表示矩阵A和B的乘积。

还可以使用.+和.-运算符进行矩阵的逐元素相加和相减。

二、Matlab图形化界面1. 如何绘制函数图像?可以使用plot函数来绘制函数的图像。

例如,可以使用x = linspace(0, 2*pi, 100)生成一个包含100个点的从0到2π的等间距向量,然后使用y = sin(x)计算对应的正弦值,最后使用plot(x, y)绘制图像。

2. 如何设置图像的标题和坐标轴标签?可以使用title函数设置图像的标题,xlabel和ylabel函数设置坐标轴的标签。

例如,可以使用title('Sin Function')设置标题,xlabel('x')和ylabel('y')设置坐标轴的标签。

三、Matlab编程1. 如何定义函数?可以使用function关键字定义函数。

例如,可以使用以下语法定义一个计算两个数之和的函数:function sum = add(a, b)sum = a + b;end2. 如何调用函数?可以使用函数名和参数列表调用函数。

matlab课后习题参考答案

matlab课后习题参考答案

Matlab课后习题部分参考答案习题二2.student=struct('name',{'zhang','wang','li'},'age',{18,21,[] },'email',{['zh ang@','zhang@'],'',''})5、a=[1 0 0;1 1 0;0 0 1];b=[2 3 4;5 6 7;8 9 10];c=[a b]d=[a;b]c =1 0 023 41 1 0 5 6 70 0 1 8 9 10d =1 0 01 1 00 0 12 3 45 6 78 9 1010、reshape(c,2,9)1 0 1 0 1 5 3 9 71 0 0 02 8 6 4 10 reshape(d,2,9)ans =1 0 5 0 0 6 0 1 71 2 8 1 3 9 0 4 10 (注意:重新排列矩阵,是将原来的矩阵按列排序)11、a.’12、a+b a.*ba\b (即inv(a)*b,考试时,要求能自己手算出a的逆)ans =2 3 43 3 38 9 1013、c=4*ones(3);a>=cb>=c14.strcat('The picture is ','very good')a=['The picture is ','very good']18.double('very good')1.norm(A),det(A),rank(A)2.b=[1 1 1 1 1];c=b';a=[17,24,1,8,50;23,5,7,14,49;4,6,13,20,43;10,12,19,21,62;11,18,25,2,56]; x=a\c习题四1、a=14*rand(1,10)-5;for i=1:9max=i;for j=i+1:10if a(j)>a(max)max=j;endendtemp=a(i);a(i)=a(max);a(max)=temp;enda将上述脚本保存为script41.m2、function y=function42(n)3*randn(1,n)+3;for i=1:n-1max=i;for j=i+1:nif a(j)>a(max)max=j;endendtemp=a(i);a(i)=a(max);a(max)=temp;endy=a;将上述函数保存为function42.m 3、r=input(‘please input 1/2: ’);if r= =1script41;elsen=input(‘please input the length: ’);y=funtion42(n);end4.function f=function1(x,y)if y==1f=sin(x);elseif y==2f=cos(x);elsef=sin(x).*cos(x);end在命令窗口调用函数f=function1(1,3) 5.function result=function3(x,n)result=0;for i=1:nresult=result+sin(x.*i)+(-1).^i.*cos(i.*x); endfunction result=function4(n,t)result=0;A=[1 2 3;0 1 2;0 0 1];for i=1:nresult=result+A*i.*exp(A*i.*t);end习题五3.x1=-2:0.01:2;x2=-2:0.01:2;y1=x1.*sin(x2);y2=x2.*cos(x1);plot3(x1,x2,y 1,'-d',x1,x2,y2,'-d')14、x=8*rand(1,100)-2;y=reshape(x,10,10);save mydata.mat yclearclcload mydatak=y>ones(10);totel=0;for i=1:100if k(i)==1totel=totel+1;endend15、x=rand(5); %生成5*5均匀分布的随机矩阵(该处只作举例,未按题目要求)fid=fopen(‘text.txt’,’w’);count=fwrite(fid,x,’int32’); closestatus=fclose(fid);清除内存,关闭所有窗口fid=fopen(‘text.txt’,’r’);x=fread(fid,[5,5],’int32’); closestatus=fclose(fid); inv(x)16.随便生成一个矩阵,x1=-1:0.2:0.8;x2=-1:0.2:0.8;y1=x1.*sin(x2);y2=x2.*cos(x1);a=reshape([y1;y2],10,10);fid=fopen('table.txt','w'); fprintf (fid,‘%f’,a); fclose(fid) ;清除内存,关闭所有窗口a=fscanf('table.txt','%f') ; exp(a) ;fclose(fid) ;习题六1.c=ploy2str(A);B=[2,0,0,1,3,5];2.x=1:10;B=ployval(A,x);。

MatLab练习册5(答案)

MatLab练习册5(答案)

MatLab 练习册(5) 参考答案1,求下面的优化问题:min -5x1+4x2+2x36x1-x2+x3<=8x1+2x2+4x3<=103>=x1>=-1;2>=x2>=0;x3>=0;答案: (填写程序语句)c=[-5,4,2,];a=[6 -1 1;1 2 4];b=[8 10];xlb=[-1 0 0];xub=[3 2 inf];x0=[0,0,0];x=lp(c,a,b,xlb,xub,x0);disp(['最优值为:',num2str(c*x)])x =1.3333最优值为:-6.66672,某车间生产A 和B 两种产品.为了生产A 和B,所需的原料分别为2个和3个,而所需要的工时分别为4个和2个单位,现在可以应用的原料为100个单位,工时为120个单位,每生产一台A 和B 分别可获得利润6元和4元,应当安排生产A,B 各多少台,才能获得最大的利润?答案: (填写程序语句)c=[-6,-4];a=[ 2,3;4,2];b=[100,120];xlb=[0,0];xub=[inf,inf];x=lp(c,a,b,xlb,xub,xo)disp(['最优值为: ',num2str(-c*x)])x =20.000020.0000最优值为: 2003,min)12424()(22122211++++=x x x x x e x f xx1+x2=0;1.5+x1x2-x1-x2<=0;-x1x2-10<=10答案: (填写程序语句)function[f,g]=fg(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1); g(1)=x(1)+x(2);g(2)=1.5+x(1)*x(2)-x(1)-x(2);g(3)=-x(1)*x(2)-20;x0=[-1,1];options(13)=1;[x,options]=constr('fg',x0,options)options(8)x =-1.2247 1.2247options(8)ans =1.8951。

完整版优化设计Matlab编程作业

完整版优化设计Matlab编程作业

化设计hl4HU©0⑥ 3 hlu 凹内r d X1州fci-rU-fFF卢F ♦ 忡下¥为+1 —*— S-ll-« F41:Si —MATLABoftiHMirjirCfiffliiiiJ PHI■1**■ 温不平?」11,・—喜M - 〜FT 文词一时y 片 34ml 3F*L9TR0i. Jill!-LkftLgWf 1S1CSI掰f 1 ■ >A A A »W I % :k Dnfl w I ■ J k^lXMprfaMk tjn nn Alflhw初选 x0=[1,1] 程序:Step 1: Write an Mfle objfunl.m.function f1=objfun1(x)f1=x(1)人2+2*x(2)入2-2*x(1)*x(2)-4*x(1);Step 2: Invoke one of the unconstrained optimization routinesx0=[1,1];>> options = 0Ptimset('LargeScale','off);>> [x,fval,exitflag,output] = fminunc(@objfun1,x0,options)运行结果: x =4.0000 2.0000 fval = -8.0000exitflag =1 output = iterations: 3 funcCount: 12 stepsize: 1 firstorderopt: 2.3842e-007algorithm: 'medium-scale: Quasi-Newton line search message: [1x85 char]非线性有约束优化1. Min f(x)=3 x : + x 2+2 x 1-3 x 2+5 Subject to:g 2(x)=5 X 1-3 X 2 -25 < 0 g (x)=13 X -41 X 2 < 0 3 12g 4(x)=14 < X 1 < 130无约束优化 min f(x)=X 2 + x 2-2 x 1 x 2-4 x 1g5 (x)=2 < X 2 < 57初选x0=[10,10]Step 1: Write an M-file objfun2.mfunction f2=objfun2(x)f2=3*x(1)人2+x(2)人2+2*x(1)-3*x(2)+5;Step 2: Write an M-file confunl.m for the constraints. function [c,ceq]=confun1(x) % Nonlinear inequality constraints c=[x(1)+x(2)+18;5*x(1)-3*x(2)-25;13*x(1)-41*x(2)人2;14-x(1);x(1)-130;2-x(2);x(2)-57];% Nonlinear inequality constraints ceq=[];Step 3: Invoke constrained optimization routinex0=[10,10]; % Make a starting guess at the solution>> options = optimset('LargeScale','off);>> [x, fval]=...fmincon(@objfun2,x0,[],[],[],[],[],[],@confun1,options)运行结果:x =3.6755 -7.0744 fval =124.14952.min f (x) =4x2 + 5x2s.t. g 1(x) = 2X] + 3x2- 6 < 0g (x) = x x +1 > 0初选x0=[1,1]Step 1: Write an M-file objfun3.m function f=objfun3(x) f=4*x(1)人2 + 5*x(2)人2Step 2: Write an M-file confun3.m for the constraints. function [c,ceq]=confun3(x) %Nonlinear inequality constraints c=[2*x(1)+3*x(2)-6;-x(1)*x(2)-1];% Nonlinear equality constraints ceq口;Step 3: Invoke constrained optimization routinex0=[1,1];% Make a starting guess at the solution>> options = optimset('LargeScale','off);>> [x, fval]=...fmincon(@objfun,x0,[],[],[],[],[],[],@confun,options)运行结果:Optimization terminated: no feasible solution found. Magnitude of search direction less than2*options.TolX but constraints are not satisfied.x =11fval =-13实例:螺栓连接的优化设计图示为一压气机气缸与缸盖连接的示意图。

MATLAB优化设计

MATLAB优化设计

MATLAB 优化设计学 院: 机电学院 专 业: 机械设计制造及其自动化 班 级: 学 号: 姓 名: 指导老师:201 年10月25日题目 11、求解如下最优化问题222121212262)(m in x x x x x x x f +-+--=步骤一:对已有的数学模型matlab 编程 1. 编写.m 文件并保存:h=[2 ,-2;-2, 4]; %实对称矩阵 f=[-2;-6]; %列向量 a=[1, 1;-1, 2]; %对应维数矩阵 b=[2;2]; %列向量 lb=zeros(2, 1);[x,value]=quadprog(h, f, a ,b ,[] ,[], lb)2. 运行.m 文件结果如图1.0所示:subject to221≤+x x 22-21≤+x x 021≥x x ,图1.0题目一文件运行结果 步骤二:matlab 运行结果分析阶段由图1.0知,当x1=0.8,x2=1.2时,min f (x)= -7.2。

题目 2步骤一:题目分析阶段设:圆筒的半径为R,圆筒的高度为H 。

谷仓的容积为300立方米,可得:2、某农场拟修建一批半球壳顶的圆筒形谷仓,计划每座谷仓容积为300立方米,圆筒半径不得超过3米,高度不得超过10米。

半球壳顶的建筑造价为每平方米150元,圆筒仓壁的造价为每平方米120元,地坪造价为每平方米50元,求造价最小的谷仓尺寸为多少?3003232=+R H R ππ圆筒高度不得超过10米,可得:100≤≤H圆筒半径不得超过3米,可得:30≤≤R当造价最小时:2225021202150),(m in R H R R H R f πππ+⨯+⨯=步骤二:数学模型建立阶段2225021202150),(m in R H R R H R f πππ+⨯+⨯=s.t. 3003232=+R H R ππ100≤≤H30≤≤R步骤三:matlab编程阶段1.编写myfun3.m文件并保存:function f=myfun2(x)f=350*3.14*x(1)^2+240*3.14*x(1)*x(2); %目标函数2.编写mycon3.m文件并保存:function[g,ceq]=mycon2(x)q=[] ;ceq=2*3.14*x(1)^3/3+3.14*x(1)^2*x(2)-300; %约束等式3.编写文件final.m保存:X=fmincon(@myfun2,[3;3],[],[],[],[],[0;0],[3;10],@mycon2) 4.运行final.m结果如图2.0所示:图2.0题目二文件运行结果步骤四:matlab运行结果分析阶段由图2.0知,当圆筒的半径R为3m,高度H为8.6157m时,满足体积要求的谷仓最小造价为29369元。

Matlab优化设计作业答案

Matlab优化设计作业答案

长江大学机械工程学院机械优化设计大作业班级2012年5月31-361、⎩⎨⎧=+-=++⋅+-++=22422min 321321321232221x x x x x x t s x x x x x x f解: function f=fun1(x)f=x(1)^2+2*x(2)^2+x(3)^2-2*x(1)*x(2)+x(3)clearclcx0=[1;1;1];A=[];b=[];Aeq=[1 1 1;2 -1 1];beq=[4;2];lb=[];ub=[];[x,fval,exitflag]=fmincon('fun1',x0,A,b,Aeq,beq,lb,ub)x =1.90911.95450.1364fval =3.9773exitflag =12、221212min ()2130f x x x x s t x =+-+⋅-≤解: function f=fun2(x)f=x(1)^2+x(2)^2-2*x(1)+1clearclcx0=[1;1];A=[0 -1];b=-3;Aeq=[];beq=[];lb=[];ub=[];[x,fval,exitflag]=fmincon('fun2',x0,A,b,Aeq,beq,lb,ub)x =13fval =9exitflag =13、 2212min ()(2)f X x x =-+112222312..()0()0()10s t g X x g X x g X x x =-≤=-≤=-+-≤解:function f=fun3(x)f=(x(1)-2)^2+x(2)^2function [g,ceq]=mycon3(x)g=[-x(1);-x(2);-x(1)^2+x(2)^2-1];ceq=[];clearclcx0=[0;0];A=[];b=[];Aeq=[];beq=[];lb=[];ub=[];[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,lb,ub,'mycon3')x =2.0000fval =2.2204e-0164、⎩⎨⎧≤--≤+--⋅++++=01005.1)12424(min 21212122122211x x x x x x t s x x x x x e f x解: function f=fun4(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);function [g,ceq]=mycon4(x)g(1)=1.5+x(1)*x(2)-x(1)-x(2);g(2)=-x(1)*x(2)-10;ceq=[];clearclcx0=[0;0];A=[];b=[];Aeq=[];beq=[];lb=[];ub=[];[x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,lb,ub,'mycon4')x =1.1825-1.7398fval =3.06085 喜糖问题:需要购买甲乙两种喜糖,喜糖甲10元/斤,喜糖乙20元/斤。

优化设计练习题 (1)

优化设计练习题 (1)

要求根据目标函数和约束函数采用适合的MATLAB 优化函数求解优化问题,即线性规划问题、无约束非线性规划、约束非线性规划问题、二次规划问题。

1—21、⎪⎪⎩⎪⎪⎨⎧≥≤-≤+≤+-⋅--=0,31232424min 2121212121x x x x x x x x t s x x f2、72220:min 321321≤++≤⋅-=x x x t s x x x f 答案:310456.3]12,12,24[⨯-==**f x3、022:)1()2(min 212221=-+⋅-+-=x x t s x x f答案:8.0]2.0,6.1[==**f x4、2221)3(min x x f +-=⎪⎩⎪⎨⎧≥-≥≥--⋅05.000412221x x x x t s答案:1]0,2[==**f x5、求函数42121122(,)32(15)f x x x x x x =+++的极小点。

答案:[0.3287,0.2131]0.1008x f **=-=-6、求表面积为2150m 的体积最大的长方体体积。

125]5,5,5[150)(2min 313221321-===++-=**f x x x x x x x x x x f7、某车间生产甲(如轴)、乙(如齿轮)两种产品。

生产甲种产品每件需要用材料9㎏,3个工时、4kw 电,可获利60元;生产乙种产品每件需要用材料4㎏、10个工时, 5kw 电,可获利120元。

若每天能供应材料360㎏,有300个工时,能供电200kw 电,问每天生产甲、乙两种产品各多少件,才能够获得最大的利润。

min F(x )=-60x 1-120x 2 S.T g 1(x)=-360+9x 1+4x 2≤0 g 2(x)=-300+3x 1+10x 2≤0g 3(x )=-200+4x 1+5x 2≤0 g 4(x )=-x 1≤0 g 5(x)=-x 2≤0答案:3[20,24]4.080010x f **==⨯8、已知:轴一端作用载荷 p=1000N/ cm ,扭矩 M=100N·m ;轴长不得小于8cm ;材料的许用弯曲应力 [σw]=120MPa ,许用扭剪应力 [τ]= 80MPa ,许用挠度 [f] = 0.01cm ;密度[ρ] = 7.8t /m ,弹性模量E=2×105MPa 。

MATLAB作业6参考答案(修)

MATLAB作业6参考答案(修)

MATLAB 作业6参考答案(修)1、用图解的方式找到下面两个方程构成的联立方程的近似解。

(注:在图上可用局部放大的方法精确读出交点值)2223223,x y xy x x y y +=-=-【求解】这两个方程应该用隐式方程绘制函数ezplot() 来绘制,交点即方程的解。

>> ezplot('x^2+y^2-3*x*y^2');hold onezplot('x^3-x^2=y^2-y')可用局部放大的方法求出更精确的值。

从图上可以精确读出两个交点,(0:4012;¡0:8916),(1:5894; 0:8185)。

试将这两个点分别代入原始方程进行验证。

2、在图形绘制语句中,若函数值为不定式NaN ,则相应的部分不绘制出来,试利用该规律绘制sin()z xy =的表面图,并剪切下2220.5x y +≤的部分。

【求解】给出下面命令可以得出矩形区域的函数值,再找出x 2 + y 2 <=0.5^2 区域的坐标,将其函数值设置成NaN ,最终得出所示的曲面。

>> [x,y]=meshgrid(-1:.1:1); z=sin(x.*y);ii=find(x.^2+y.^2<=0.5^2); z(ii)=NaN; surf(x,y,z)3、试用图解法求解下面的一元和二元方程,并验证得出的结果。

222(1)/2221)()sin(52),2)(,)()x x y xy f x e x f x y x y xy e π-++---=+=++【求解】①中给出的一元方程可以用曲线表示出来,这些曲线和y = 0 线的交点即为方程的 解,可以用图形局部放大的方法读出这些交点的x 值,。

在本图中,xi 均为方程的解,若放大x 轴区域,则可能得出更多的解。

>> ezplot('exp(-(x+1)^2+pi/2)*sin(5*x+2)')②中的二元方程可以由下面的命令用图形的方式显示出来。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

长江大学
机械工程学院
机械优化设计大作业
班级
2012年5月
31-36
1、⎩⎨⎧
=+-=++⋅+-++=2
24
22min 321321321232221x x x x x x t s x x x x x x f
解: function f=fun1(x)
f=x(1)^2+2*x(2)^2+x(3)^2-2*x(1)*x(2)+x(3)
clear
clc
x0=[1;1;1];
A=[];b=[];
Aeq=[1 1 1;2 -1 1];beq=[4;2];
lb=[];ub=[];
[x,fval,exitflag]=fmincon('fun1',x0,A,b,Aeq,beq,lb,ub)
x =
1.9091
1.9545
0.1364
fval =
3.9773
exitflag =
1
2、22
1212min ()2130f x x x x s t x =+-+⋅-≤
解: function f=fun2(x)
f=x(1)^2+x(2)^2-2*x(1)+1
clear
clc
x0=[1;1];
A=[0 -1];b=-3;
Aeq=[];beq=[];
lb=[];ub=[];
[x,fval,exitflag]=fmincon('fun2',x0,A,b,Aeq,beq,lb,ub)
x =
1
3
fval =
9
exitflag =
1
3、 22
12min ()(2)f X x x =-+
112222
312..()0
()0()10
s t g X x g X x g X x x =-≤=-≤=-+-≤
解:function f=fun3(x)
f=(x(1)-2)^2+x(2)^2
function [g,ceq]=mycon3(x)
g=[-x(1);-x(2);-x(1)^2+x(2)^2-1];
ceq=[];
clear
clc
x0=[0;0];
A=[];b=[];
Aeq=[];beq=[];
lb=[];ub=[];
[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,lb,ub,'mycon3')
x =
2.0000
fval =
2.2204e-016
4、⎩⎨⎧≤--≤+--⋅++++=0
100
5.1)12424(min 21212122122211x x x x x x t s x x x x x e f x
解: function f=fun4(x)
f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
function [g,ceq]=mycon4(x)
g(1)=1.5+x(1)*x(2)-x(1)-x(2);
g(2)=-x(1)*x(2)-10;
ceq=[];
clear
clc
x0=[0;0];
A=[];b=[];
Aeq=[];beq=[];
lb=[];ub=[];
[x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,lb,ub,'mycon4')
x =
1.1825
-1.7398
fval =
3.0608
5 喜糖问题:需要购买甲乙两种喜糖,喜糖甲10元/斤,喜糖乙20元/斤。

要求花钱不超过300元,总斤数不少于15斤,乙糖不少于10斤。

问:(1) 购买甲糖、乙糖分别多少斤,才能在满足要求的条件下花钱最少?(2) 购买甲糖、乙糖分别多少斤,才能在满足要求的条件下所买的糖最多?
解:
(1)设购买甲糖 x1 斤,购买乙糖 x2 斤
根据题意,建立目标函数
Min f=10·x1+20·x2
约束条件:
x2>=10
x1+x2>=15
10·x1+20·x2<=300
将约束条件转化成标准形式:
x2>=10
-x1-x2<=-15
matlab程序:
clear
clc
c=[10 20];
A=[10 20;-1 -1];b=[300;-15];
Aeq=[];beq=[];
lb=[0 10];ub=[];
[x f]=linprog(c,A,b,Aeq,beq,lb,ub)
x =
5.0000
10.0000
f =
250.0000
(2)设购买甲糖x1斤,购买乙糖x2斤
Max f=x1+x2
约束条件:
x2>=10
x1+x2>=15
将目标函数和约束条件转化成标准形式:
Min f=-x1-x2
约束条件:
x2>=10
-x1-x2<=-15
Matlab程序:
clear
clc
c=[-1 -1];
A=[10 20;-1 -1];
b=[300,-15];
Aeq=[];beq=[];
lb=[0 10];ub=[];
[x f]=linprog(c,A,b,Aeq,beq,lb,ub)
x =
10.0000
10.0000
f =
-20.0000
即当购买甲糖10斤,乙糖10斤时,满足条件的情况下购买的糖最多,为20斤。

6、一根长L的铅丝截成两段,一段弯成圆圈,另一段弯折成方形,问应以怎样的比例截断铅丝,才能使圆和方形的面积之和为最大?
解:设圆的半径为x1,方形的边长为x2。

根据题意,建立目标函数:
Max f=π·x1^2+x2^2
约束条件:
2·π·x1+ 4·x2=L(令L=1)
将目标函数转化成标准形式:
Min f=- ·x1^2-x2^2
Matlab程序:
function f=fun7(x)
f=-x(1)^2/(16*pi)-x(1)^2*x(2)^2/16;
function [g,ceq]=mycon7(x)
g(1)=x(1)+x(1)*x(2)-1;
ceq=[];
clear
clc
x0=[1;1];
A=[];b=[];
Aeq=[];beq=[];
lb=[0 0];ub=[];
[x,fval]=fmincon('fun7',x0,A,b,Aeq,beq,lb,ub,'mycon7')
x =
0.0230
40.8952
fval =
-0.0554
即当铅丝全用来弯成圆时R=0.1592m,面积最大S=0.0796m2
7、由两根空心圆杆组成对称的两杆桁架,其顶点承受负载2p=300000N,两支座之间的水平距离2L=152cm,圆杆的壁厚B=0.25cm,杆的密度ρ=7800kg/m3,弹性模量为E=2.1×105MPa,许用压应力σy=420MPa。

求在桁架压应力不超过许用压应力和失稳临界应力的条件下,使桁架重量最轻的桁架高度h及圆杆平均直径d。

解:建立目标函数:
Min dBh f πρ∙=
约束条件:
[]σθπy dB p
≤cos
22cos h EI
p πθ≤
其中 h L
a r c t a n =θ
设桁架高度为 x1 mm ,圆杆平均直径为 x2 mm
Matlab 程序如下:
function f=fun8(x)
f=x(1)*((76^2+x(2)^2)^0.5);
function [g,ceq]=mycon8(x)
g(1)=((76^2+x(2)^2)^1.5)/(x(2)*x(1)*(0.25^2+x(1)^2))-135.45; g(2)=(76^2+x(2)^2)^0.5/(x(1)*x(2))-0.2198;
ceq=[];
clear
clc
x0=[1;1];
A=[];b=[];
Aeq=[];beq=[];
lb=[0 0];ub=[];
[x,fval]=fmincon('fun8',x0,A,b,Aeq,beq,lb,ub,'mycon8') x =
6.4341
76.0000
fval =
8.47
即h=60.4341mm;d=760.0000mm 时,质量最轻m= 8.47 kg.。

相关文档
最新文档