当前位置:文档之家› 实例matlab非线性规划作业

实例matlab非线性规划作业

实例matlab非线性规划作业
实例matlab非线性规划作业

现代设计方法-工程优化理论、方法与设计

Z Z Z 21+=

问题 :梯度法

其中function函数为:

实例matlab-非线性规划-作业

实例matlab-非线性规划-作业

现代设计方法-工程优化理论、方法与设计 姓名 学号 班级 研 问题 : 某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台。每季度的生产费用为 (元),其中x 是该季生产的台数。若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c 元。已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低。讨论a 、b 、c 变化对计划的影响,并作出合理的解释。 问题的分析和假设: 问题分析:本题是一个有约束条件的二次规划问题。决策变量是工厂每季度生产的台数,目标函数是总费用(包括生产费用和存储费)。约束条件是生产合同,生产能力的限制。在这些条件下需要如何安排生产计划,才能既满足合同又使总费用最低。 问题假设: 1、工厂最大生产能力不会发生变化; 2、合同不会发生变更; 3、第一季度开始时工厂无存货; 4、生产总量达到180台时,不在进行生产; 5、工厂生产处的发动机质量有保证,不考虑退货等因素; 6、不考虑产品运输费用是否有厂家承担等和生产无关的因素。 符号规定: x1——第一季度生产的台数; x2——第二季度生产的台数; 180-x1-x2——第三季度生产的台数; y1——第一季度总费用; y2——第二季度总费用; y3——第三季度总费用; y ——总费用(包括生产费用和存储费)。 ()2bx ax x f +=

建模: 1、第一、二、三季度末分别交货40台、60台、80台; 2、每季度的生产费用为 (元); 3、每季度生产数量满足40 ≤x1≤100,0≤x2≤100,100≤x1+x2 ≤180; 4、要求总费用最低,这是一个目标规划模型。 目标函数: y1 2111x b x a Z ?+?= y2()4012222-?+?+?=x c x b x a Z y3()()()10018018021221213 -+?+--?+--?=x x c x x b x x a Z y x x x x x x Z Z Z Z 68644.04.04.0149201 212221321--+++=++= 40≤x1≤100 0≤x2≤100 100≤x1+x2≤180 ()2 bx ax x f +=

运用Matlab进行线性规划求解(实例)

线性规划 线性规划是处理线性目标函数和线性约束的一种较为成熟的方法,目前已经广泛应用于军事、经济、工业、农业、教育、商业和社会科学等许多方面。 8.2.1 基本数学原理 线性规划问题的标准形式是: ????? ??????≥=+++=+++=++++++=0,,,min 21221122222121112 121112211n m n mn m m n n n n n n x x x b x a x a x a b x a x a x a b x a x a x a x c x c x c z 或 ???? ?????=≥===∑∑==n j x m i b x a x c z j n j i j ij n j j j ,,2,1,0,,2,1,min 1 1 写成矩阵形式为: ?? ???≥==O X b AX CX z min 线性规划的标准形式要求使目标函数最小化,约束条件取等式,变量b 非负。不符合这几个条件的线性模型可以转化成标准形式。 MATLAB 采用投影法求解线性规划问题,该方法是单纯形法的变种。 8.2.2 有关函数介绍 在MATLAB 工具箱中,可用linprog 函数求解线性规划问题。 linprog 函数的调用格式如下: ●x=linprog(f,A,b):求解问题minf'*x ,约束条件为A*x<=b 。 ●x=linprog(f,A,b,Aeq,beq):求解上面的问题,但增加等式约束,即Aeq*x=beq 。若没有不等式约束,则令A=[ ],b=[ ]。 ●x=linprog(f,A,b,Aeq,beq,lb,ub):定义设计x 的下界lb 和上界ub ,使得x 始终在该范围内。若没有等式约束,令Aeq=[ ],beq=[ ]。 ●x=linprog(f,A,b,Aeq,beq,lb,ub,x0):设置初值为x0。该选项只适用于中型问题,默认时大型算法将忽略初值。 ●x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options):用options 指定的优化参数进行最小化。 ●[x,fval]=linprog(…):返回解x 处的目标函数值fval 。 ●[x,lambda,exitflag]=linprog(…):返回exitflag 值,描述函数计算的退出条件。 ●[x,lambda,exitflag,output]=linprog(…):返回包含优化信息的输出参数output 。 ●[x,fval,exitflag,output,lambda]=linprog(…):将解x 处的拉格朗日乘子返回到lambda 参数中。

一个简单的Matlab_GUI编程实例

Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下

图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。 1. 2. 3.function edit1_Callback(hObject, eventdata, handles) 4.% hObject handle to edit1 (see GCBO) 5.% eventdata reserved - to be defined in a future version of MATLAB

6.% handles structure with handles and user data (see GUIDATA) 7.% Hints: get(hObject,'String') returns contents of edit1 as text 8.% str2double(get(hObject,'String')) returns contents of edit1 as a double 复制代码 然后在上面这段代码的下面插入如下代码: 1. 2.%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则现实空白内容input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0if (isempty(input)) set(hObject,'String','0')endguidata(hObject, handles); 复制代码 这段代码使得输入被严格限制,我们不能试图输入一个非数字。 4.为edit2_Callback添加同样一段代码 5 现在我们为计算按钮添加代码来实现把数据1和数据2相加的目的。 用3中同样的方法在m文件中找到pushbutton1_Callback代码段 如下; 1.function pushbutton1_Callback(hObject, eventdata, handles) 2.% hObject handle to pushbutton1 (see GCBO) 3.% eventdata reserved - to be defined in a future version of MATLAB 4.% handles structure with handles and user data (see GUIDATA) 复制代码

MATLAB大作业

选 题 说 明 本人选做第2、4、5、9、11、12、13、14、16、19、24 题。 作业内容题目2:问题描述:在[0 , 2π]范围内绘制二维曲线图y=cos(5x)*sin(x) (1)问题分析 这是一个二维绘图问题,先写出x的取值范围,再用plot函数画出y的图像。 (2)软件说明及源代码 >> x = 0:pi/100:2.*pi; y=cos(5*x).*sin(2*x); >> plot(x,y) (3)实验结果 题目4:问题描述:创建符号函数并求解,要求写出步骤和运行结果 (1)创建符号函数f=ax2+bx+c

(2)求f=0的解 (1)问题分析 这是符号计算问题,首先要确定符号变量,然后创建符号函数,最后利用subs函数求解特值。 (2)软件说明及源代码 >> syms a b c x f; f=a*x^2+b*x+c; subs(f,0) (3)实验结果 ans = c 题目5:问题描述:求积分 (1)问题分析 这是符号计算的积分求解问题,首先需要确定符号变量,然后利用int函数计算积分。 (2)软件说明及源代码 >> syms x y; y=sqrt(1-2*sin(2*x)); >> int(y,x,0,pi/2) (3)实验结果 ans = ellipticE(-pi/4, 4)*1i - ellipticE(pi/4, 4)*1i - ellipticE(-pi/6, 4)*2i + ellipticE(pi/6, 4)*2i 题目9:问题描述:按水平和竖直方向分别合并下述两个矩阵:

(1)问题分析 这是考查矩阵的基本操作,首先定义矩阵,然后合并矩阵。 (2)软件说明及源代码 >> A=[1,0,0;1,1,0;0,0,1]; B=[2,3,4;5,6,7;8,9,10]; >> a=[A,B],b=[A;B] (3)实验结果 a = 1 0 0 2 3 4 1 1 0 5 6 7 0 0 1 8 9 10 b = 1 0 0 1 1 0 0 0 1 2 3 4 5 6 7 8 9 10 题目11:问题描述:计算z=yx2+3y2x+2y3的和: (1)问题分析 这是符号计算问题,首先确定符号变量,然后构造函数,最后利用diff函数进行求导。 (2)软件说明及源代码 >> syms x y z; >> z=y*x^2+3*y^2*x+2*y^3; >> diff(z,y,1),diff(diff(z,y,1),x,1) (3)实验结果 ans = x^2 + 6*x*y + 6*y^2

MATLAB简单程序大全

MATLAB简单程序大全 求特征值特征向量 A=[2 3 4;1 5 9;8 5 2] det(A) A' rank(A) inv(A) rref(A) eig(A)%求特征值和特征向量 卫星运行问题 h=200,H=51000,R=6378; a=(h+H+2*R)/2; c=(H-h)/2; b=(a^2-c^2)^(1/2); e=c/a; f=sqrt(1-exp(2).*cos(t)^2); l=int(f,t,0,pi/2) L=4*a.*l 动态玫瑰线 n=3;N=10000; theta=2*pi*(0:N)/N; r=cos(n*theta); x=r.*cos(theta); y=r.*sin(theta); comet(x,y) 二重积分 syms x y f=x^2*sin(y); int(int(f,x,0,1),y,0,pi) ezmesh(f,[0,1,0,pi]) 函数画图 syms x;f=exp(-0.2*x)*sin(0.5*x); ezplot(f,[0,8*pi])

玫瑰线 theta=0:0.01:2*pi; r=cos(3*theta); polar(theta,r,'r') 求x^2+y^2=1和x^2+z^2=1所围成的体积 syms x y z R r=1; Z=sqrt(1-x^2); y0=Z; V=8*int(int(Z,y,0,y0),x,0,1) 求导数及图像 f='1/(5+4*cos(x))'; subplot(1,2,1);ezplot(f) f1=diff(f) subplot(1,2,2);ezplot(f1) 绕x轴旋转 t=(0:20)*pi/10; r=exp(-.2*t).*sin(.5*t); theta=t; x=t'*ones(size(t)); y=r'*cos(theta); z=r'*sin(theta); mesh(x,y,z) colormap([0 0 0]) 某年是否闰年 year=input('input year:='); n1=year/4; n2=year/100; n3=year/400; if n1==fix(n1)&n2~=fix(n2) disp('是闰年') elseif n1==fix(n1)&n3==fix(n3) disp('是闰年') else

MATLAB大作业

MATLAB大作业 作业要求: (1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。 (2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。打印稿不要求MATLAB程序,但电子稿要包含MATLAB 程序。 (3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。 (4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。 (5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。 第一类:绘制图形。(B级) 问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据 斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。 问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢 尔宾斯基在1915年提出,它是一种典型的自相似集。其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。接下来对其余三个小三角形重复上述操作,如图所示。

问题三:其他分形曲线或图形。分形曲线还有很多,教材介绍了科赫曲线,其他还有皮 亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。这方面的资料很多(如https://www.doczj.com/doc/8f16545470.html,/content/16/0103/14/5315_525141100.shtml),请分析构图原理并用MATLAB实现。 问题四:模拟掷骰子游戏:掷1000次骰子,统计骰子各个点出现的次数,将结果以下表的形式显示,并绘制出直方图。 点数 1 2 3 4 5 6 出现次数166 150 164 162 184 174 问题五:利用MATLAB软件绘制一朵鲜花,实现一定的仿真效果。 提示:二维/三维绘图,对花瓣、花蕊、叶片、花杆等的形状和颜色进行详细设置。 第二类:插值与拟合。(B级) 问题一:有人对汽车进行了一次实验,具体过程是,在行驶过程中先加速,然后再保持匀速行驶一段时间,接着再加速,然后再保持匀速,如此交替。注意,整个实验过程中从未 (1)分别使用最近点插值、线性插值、三次埃尔米特插值和三次样条插值进行计算[0,110]时间段50个时间点的速度。 (2)绘制插值图形并标注样本点。 问题二:估算矩形平板各个位置的温度。已知平板长为5m,宽为3m,平板上3×5栅格 点上的温度值为44,25,20,24,30;42,21,20,23,38;25,23,19,27,40。 (1)分别使用最近点插值、线性插值和三次样条插值进行计算。 (2)用杆图标注样本点。 (3)绘制平板温度分布图。 问题三:自行车道的设计。对9条道路上的自行车道宽度以及自行车与过往机动车之间 (1)对数据进行线性拟合。 (2)绘制拟合曲线和样本点。 (3)如果自行车与过往机动车之间安全距离的最小距离是1.8m,试计算相应的自行车道宽度的最小值。 问题四:在水资源工程学中,水库的大小与为了蓄水而拦截的河道中的水流速度密切相 关。对于某些河流来说,这种长时间的历史水流记录很难获得。然而通常容易得到过去若干年间关于降水量的气象资料。鉴于此,推导出流速与降水量之间的关系式往往特别有用。只

Matlab大作业

Matlab 大作业 (组内成员:彭超杰、南彦东、江明伟) 一、研究模型 (电车)通过控制油门(保持一定角度)来调节电动机能输出稳定的转速,从而控制车速稳定。 数学依据说明如下: 由图可知存在以下关系:a d a a u w k R i dt di L =++ (w k e d d =) L M M dt dw J -= a m i k M = L a m M i k dt dw J -=

k为反电势常数,m k为电动机电磁力矩常数,这里忽略阻尼力矩。d

二、数学模型 再看整个研究对象,示意图以课本为依据,不同点是这里将数控的进给运动,转换为汽车行驶所需要的扭矩。(这里不说明扭矩的具体产生过程,仅仅说明输出车轮旋转的角速度w ) 对照课本不同,() s θ变为()s N ,1 221z z w w =,1w 为电动机的转速,2w 为轮胎的转速,1z 为电动机的光轴齿轮的齿数,2z 为与轮胎相连光轴的 齿轮齿数。 )(*10110w x w k x ==,1 21z z k = ()c a m m d b a m x K K K k s k k JRs JLs K K K k s G i 1231+++= () c a m m d M K K K k s k k JRs JLs R Ls K s G L 1231)(++++-= 同理,忽略电枢绕组的电感L ,简化系统传递函数方框图如下

()JR K K K k JR s k k s JR K K K k s G c a m m d b a m x i 121++= ()JR K K K k JR s k k s K K K K k s k k Rs R K s G c a m m d c a m m d M L 121121++-=++-=

BP神经网络matlab实例(简单而经典)

p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化 net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx'); %设置网络,建立相应的BP网络 net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM算法训练BP网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); %对BP网络进行仿真 anew=postmnmx(anewn,mint,maxt); %还原数据 y=anew'; 1、BP网络构建 (1)生成BP网络 = net newff PR S S SNl TF TF TFNl BTF BLF PF (,[1 2...],{ 1 2...},,,) R?维矩阵。 PR:由R维的输入样本最小最大值构成的2 S S SNl:各层的神经元个数。 [ 1 2...] { 1 2...} TF TF TFNl:各层的神经元传递函数。 BTF:训练用函数的名称。 (2)网络训练 [,,,,,] (,,,,,,) = net tr Y E Pf Af train net P T Pi Ai VV TV (3)网络仿真 = [,,,,] (,,,,) Y Pf Af E perf sim net P Pi Ai T {'tansig','purelin'},'trainrp'

matlab与数学实验大作业

《数学实验与MATLAB》 ——综合实验报告 实验名称:不同温度下PDLC薄膜的通透性 与驱动电压的具体关系式的研究学院:计算机与通信工程学院 专业班级: 姓名: 学号: 同组同学: 2014年 6月10日

一、问题引入 聚合物分散液晶(PDLC)是将低分子液晶与预聚物Kuer UV65胶相混合,在一定条件下经聚合反应,形成微米级的液晶微滴均匀地分散在高分子网络中,再利用液晶分子的介电各向异性获得具有电光响应特性的材料,它主要工作在散射态和透明态之间并具有一定的灰度。聚合物分散液晶膜是将液晶和聚合物结合得到的一种综合性能优异的膜材料。该膜材料能够通过驱动电压来控制其通透性,可以用来制作PDLC型液晶显示器等,具有较大的应用范围。已知PDLC薄膜在相同光强度及驱动电压下,不用的温度对应于不同的通透性,不同温度下的阀值电压也不相同。为了尽量得到不同通透性的PDLC薄膜,有必要进行温度对PDLC薄膜的特性的影响的研究。现有不同温度下PDLC 薄膜透过率与驱动电压的一系列数据,试得出不同温度下PDLC薄膜通透性与驱动电压的具体关系式,使得可以迅速得出在不同温度下一定通透性对应的驱动电压。 二、问题分析 想要得到不同温度下PDLC薄膜通透性与驱动电压的具体关系式可以运用MATLAB多项式农合找出最佳函数式,而运用MATLAB多项式插值可以得出在不同温度下一定通透性所对应的驱动电压。 三、实验数据 选择10、20、30摄氏度三个不同温度,其他条件一致。

(1)、10摄氏度 实验程序: x=2:2:40; y=[5.2,5.4,5.8,6.4,7.2,8.2,9.4,10.8,12.2,14.0,16.6,22.0, 30.4,39.8,51.3,55.0,57.5,58.8,59.6,60.2]; p3=polyfit(x,y,3); p5=polyfit(x,y,5); p7=polyfit(x,y,7); disp('三次拟合函数'),f3=poly2str(p3,'x') disp('五次拟合函数'),f5=poly2str(p5,'x') disp('七次拟合函数'),f7=poly2str(p7,'x') x1=0:1:40; y3=polyval(p3,x1); y5=polyval(p5,x1); y7=polyval(p7,x1); plot(x,y,'rp',x1,y3,'--',x1,y5,'k-.',x1,y7); legend('拟合点','三次拟合','五次拟合','七次拟合') 实验结果:

Matlab非线性规划

一般非线性规划 标准型为: min F(X) s.t AX<=b b e q X A e q =? G(X)0≤ Ceq(X)=0 VLB ≤X ≤VUB 其中X 为n 维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同.用Matlab 求解上述问题,基本步骤分三步: 1. 首先建立M 文件fun.m,定义目标函数F (X ): function f=fun(X); f=F(X); 2. 若约束条件中有非线性约束:G(X)0≤或Ceq(X)=0,则建立M 文件nonlcon.m 定义函数G(X)与Ceq(X): function [G,Ceq]=nonlcon(X) G=... Ceq=... 3. 建立主程序.非线性规划求解的函数是fmincon,命令的基本格式如下: (1) x=fmincon (‘fun’,X0,A,b) (2) x=fmincon (‘fun’,X0,A,b,Aeq,beq) (3) x=fmincon (‘fun’,X0,A,b, Aeq,beq,VLB,VUB) (4) x=fmincon (‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’) (5)x=fmincon (‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,options) (6) [x,fval]= fmincon(...) (7) [x,fval,exitflag]= fmincon(...) (8)[x,fval,exitflag,output]= fmincon(...) 注意: [1] fmincon 函数提供了大型优化算法和中型优化算法。默认时,若在

遗传算法解决非线性规划问题的Matlab程序

通常,非线性整数规划是一个具有指数复杂度的NP问题,如果约束较为复杂,Matlab优 化工具箱和一些优化软件比如lingo等,常常无法应用,即使能应用也不能给出一个较为令 人满意的解。这时就需要针对问题设计专门的优化算法。下面举一个遗传算法应用于非线性整数规划的编程实例,供大家参考! 模型的形式和适应度函数定义如下: nun £ =迟叼匸[(1_冏)督 i-1 /-I J=K乙员-??严丿=12 M…严 ▼ 0 或1* 适应度函数为3 Fi tn叱O)=》〔?巾1口{>?(卡(£)一/;0?门))转幷亠 Z j'-i 50 4 S0 其中比=2、即士£ = £ =瓦%■,口(1-务),马;j^ = s = ■ x v' y- to.8,02)., /-I i-L i-1 E 这是一个具有200个01决策变量的多目标非线性整数规划,编写优化的目标函数如下,其 中将多目标转化为单目标采用简单的加权处理。 fun ctio n Fit ness=FITNESS(x,FARM,e,q,w) %%适应度函数 %输入参数列表 % x 决策变量构成的 4X50的0-1矩阵 % FARM 细胞结构存储的当前种群,它包含了个体x

% e 4 X50的系数矩阵 % q 4 X50的系数矩阵 % w 1 X50的系数矩阵 %% gamma=0.98; N=length(FARM);% 种群规模 F1=zeros(1,N); F2=zeros(1,N); for i=1:N xx=FARM{i}; ppp=(1-xx)+(1-q).*xx; F1(i)=sum(w.*prod(ppp)); F2(i)=sum(sum(e.*xx)); end ppp=(1-x)+(1-q).*x; f1=sum(w.*prod(ppp)); f2=sum(sum(e.*x)); Fitness=gamma*sum(min([sign(f1-F1);zeros(1,N)]))+(1-gamma)*sum(min([sign(f2- F2);zeros(1,N)])); 针对问题设计的遗传算法如下,其中对模型约束的处理是重点考虑的地方 function [Xp,LC1,LC2,LC3,LC4]=MYGA(M,N,Pm) %% 求解 01 整数规划的遗传算法 %% 输入参数列表

MATLAB期末大作业模版

《MATLAB》期末大作业 学院土木工程与建筑学院 专业 班级 姓名 指导教师李琳 2018 年 5 月16 日

明 作业内容题目2:问题描述:在[0 2π]范围内绘制二维曲线图y=cos(5x)*sin(x) (1)问题分析 这是一个二维绘图问题,先划定x的范围与间距,再列出y的表达式,利用plot函数绘制二维曲线。 (2)软件说明及源代码 >> x = 0:pi/10:2*pi; >>y = cos(5*x).*sin(x); >>plot(x,y) (3)实验结果 题目4:问题描述:创建符号函数并求解,要求写出步骤和运行结果 (1)创建符号函数f=ax2+bx+c (2)求f=0的解 (1)问题分析 这是一个符号函数显示以及符号函数的求解问题,第一问先定义常量与变量,在写出f表达式,利用pretty函数显示f。第二问利用solve函数求解f=0时的解。 (2)软件说明及源代码

第一问 >> syms a b c x; >> f=a*x^2+b*x+c; >> pretty(f) 第二问 >>syms a b c x; >>f=a*x^2+b*x+c; >> solve(f) (3)实验结果 1、 2、 题目5:问题描述:求积分 (1)问题分析 这是一个利用符号函数求积分的问题,先定义变量x,再列出I1表达式,利用int函数求在范围0到Pi/2上的积分。 (2)软件说明及源代码 >> syms x; >> I1=(1-2*sin(2*x))^0.5; >> int(I1,0,0.5*pi) (3)实验结果 题目6:问题描述:分别随机产生一个6×6的整数矩阵(元素可在[-20,20]之间),求该随机阵的秩,特征值和特征向量。 (1)问题分析 这是一个矩阵运算问题,先利用rand函数产生一个6*6的元素在-20到20

matlab综合大作业(附详细答案)

《MATLAB语言及应用》期末大作业报告 1.数组的创建和访问(20分,每小题2分): 1)利用randn函数生成均值为1,方差为4的5*5矩阵A; 实验程序:A=1+sqrt(4)*randn(5) 实验结果: A = 0.1349 3.3818 0.6266 1.2279 1.5888 -2.3312 3.3783 2.4516 3.1335 -1.6724 1.2507 0.9247 -0.1766 1.1186 2.4286 1.5754 1.6546 5.3664 0.8087 4.2471 -1.2929 1.3493 0.7272 -0.6647 -0.3836 2)将矩阵A按列拉长得到矩阵B; 实验程序:B=A(:) 实验结果: B = 0.1349 -2.3312 1.2507 1.5754 -1.2929 3.3818 3.3783 0.9247 1.6546 1.3493 0.6266 2.4516 -0.1766 5.3664 0.7272 1.2279 3.1335 1.1186 0.8087 -0.6647 1.5888 -1.6724 2.4286 4.2471

-0.3836 3)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)] 实验结果: C = 3.3783 3.1335 0.9247 1.1186 4)寻找矩阵A中大于0的元素;] 实验程序:G=A(find(A>0)) 实验结果: G = 0.1349 1.2507 1.5754 3.3818 3.3783 0.9247 1.6546 1.3493 0.6266 2.4516 5.3664 0.7272 1.2279 3.1335 1.1186 0.8087 1.5888 2.4286 4.2471 5)求矩阵A的转置矩阵D; 实验程序:D=A' 实验结果: D = 0.1349 -2.3312 1.2507 1.5754 -1.2929 3.3818 3.3783 0.9247 1.6546 1.3493 0.6266 2.4516 -0.1766 5.3664 0.7272 1.2279 3.1335 1.1186 0.8087 -0.6647 1.5888 -1.6724 2.4286 4.2471 -0.3836 6)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E; 实验程序:E=flipud(fliplr(A)) 实验结果:

matlab函数计算的一些简单例子1

MATLAB作业一1、试求出如下极限。 (1) 23 25 (2)(3) lim (5) x x x x x x x ++ + →∞ ++ + ,(2) 23 3 1 2 lim () x y x y xy x y →- → + + ,(3) 22 22 22 1cos() lim ()x y x y x y x y e+ → → -+ + 解:(1)syms x; f=((x+2)^(x+2))*((x+3)^(x+3))/((x+5)^(2*x+5)) limit(f,x,inf) =exp(-5) (2)syms x y; f=(x^2*y+x*y^3)/(x+y)^3; limit(limit(f,x,-1),y,2) =-6; (3)syms x y; f=(1-cos(x^2+y^2))/(x^2+y^2)*exp(x^2+y^2); limit(limit(f,x,0),y,0) =0 2、试求出下面函数的导数。 (1 )() y x=, (2)22 atan ln() y x y x =+ 解; (1)syms x; f=sqrt(x*sin(x)*sqrt(1-exp(x))); g= diff(f,x); g== (sin(x)*(1 - exp(x))^(1/2) + x*cos(x)*(1 - exp(x))^(1/2) - (x*exp(x)*sin(x))/(2*(1 - exp(x))^(1/2)))/(2*(x*sin(x)*(1 - exp(x))^(1/2))^(1/2)) pretty(g)= (2)syms x y; f=atan(y/x)-log(x^2+y^2) pretty(-simple(diff(f,x)/diff(f,y)))= 2 x + y =------- x - 2 y (3) 假设1 cos u- =,试验证 22 u u x y y x ?? = ???? 。 解:syms x y; u=1/cos(sqrt(x/y)); diff(diff(u,x),y)-diff(diff(u,y),x)=0; 所以: 22 u u x y y x ?? = ????

matlab仿真实例

matlab 仿真实例 实验五MATLAB 及仿真实验一、控制系统的时域分析 (一)稳定性 1、系统传递函数为G(s),试判断其稳定性。 程序: >> nu m=[3,2,5,4,6]; >> den=[1,3,4,2,7,2]; >> sys=tf( nu m,de n); >> figure(1); >> pzmap(sys); >> title(' 零极点图') 由图可知:在S 右半平面有极点,因此可知系统是不稳定的。 2、用MATLA 求 出 G(s)=(s A 2+2*s+2)/(s A 4+7*s A 3+5*s+2) 的极点。 程序及结果: >> sys=tf([1,2,2],[1,7,3,5,2]); >> p=pole(sys) 矿'. 赳 _ ■ —

-6.6553 0.0327 + 0.8555i 0.0327 - 0.8555i -0.4100 (二)阶跃响应 1、二阶系统G(s)=10/s A2+2*s+10 1)键入程序,观察并记录单位阶跃响应曲线: 程序: >> sys=tf(10,[1,2,10]); >> step(sys); >> title('G(s)=10/sA2+2*s+10 单位阶跃响应曲线') 2)计算系统闭环跟、阻尼比、无阻尼振荡频率,并记录程序及结果: >> sys=tf(10,[1,2,10]); >> p=pole(sys)

p = -1.0000 + 3.0000i -1.0000 - 3.0000i >> [wn,z]=damp(sys) wn = 3.1623 3.1623 z = 0.3162 0.3162 3)记录实际测取的峰值大小,峰值时间和过渡过程时间,并填表实际值理论值峰值Cmax 1.35s 峰值时间tp 1.05s 过渡时间+5% 3.54s ts +2% 3.18s 程序: >> sys=tf(10,[1,2,10]); >> step(sys); >> title('G(s)=10/sA2+2*s+10 单位阶跃响应曲线')

MATLAB大作业

M A T L A B大作业作业要求: (1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电 子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。 (2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果 分析、本课程学习体会、列出主要的参考文献。打印稿不要求MATLAB程序,但电 子稿要包含MATLAB程序。 (3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话 则长,无话则短。不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。 (4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。 (5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。 第一类:绘制图形。(B级) 问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契 螺旋线,如图所示。 问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三

角形,然后去掉中间的那一个小三角形。接下来对其余三个小三角形重复上述操作,如图所示。 问题三:其他分形曲线或图形。分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。这方面的资料很多(如),请分析构图原理并用MATLAB 实现。 问题四:模拟掷骰子游戏:掷1000次骰子,统计骰子各个点出现的次数,将结果以下表的形式显示,并绘制出直方图。 点数 1 2 3 4 5 6 出现次数166 150 164 162 184 174 问题五:利用MATLAB软件绘制一朵鲜花,实现一定的仿真效果。 提示:二维/三维绘图,对花瓣、花蕊、叶片、花杆等的形状和颜色进行详细设置。 第二类:插值与拟合。(B级) 问题一:有人对汽车进行了一次实验,具体过程是,在行驶过程中先加速,然后再保持匀速行驶一段时间,接着再加速,然后再保持匀速,如此交替。注意,整个实验过程中从未减速。在一组时间点上测得汽车的速度如表所示。 (1)分别使用最近点插值、线性插值、三次埃尔米特插值和三次样条插值进行计算[0,110]时间段50个时间点的速度。 (2)绘制插值图形并标注样本点。

matlab函数计算的一些简单例子2

MATLAB 作业二 1、请将下面给出的矩阵A 和B 输入到MATLAB 环境中,并将它们转换成符号矩阵。若某一 矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵还是数值矩阵。 57651653 5501232310014325462564206441211346,3 9636623 51521210760077410120172440773 473 78 124867217110 7 681 5A B ???? ?????????? ????? ?==?????? ????? ?---????????--??? ? 解:A 转换为符号矩阵;a=sym(A) a=[5,7,6,5,1,6,5] [2,3,1,0,0,1,4][6,4,2,0,6,4,4][3,9,6,3,6,6,2][10,7,6,0,0,7,7][7,2,4,4,0,7,0][4,8,6,7,2,1,7]B 转换为符号矩阵;b=sym(B)b = [3,5,5,0,1,2,3][3,2,5,4,6,2,5][1,2,1,1,3,4,6][3,5,1,5,2,1,2][4,1,0,1,2,0,1][-3,-4,-7,3,7,8,12][1,-10,7,-6,8,1,5] 若某一矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵例;a*B= [48,3,64,48,159,106,194][17,-26,47,-8,62,26,59][48,-8,52,12,108,64,124][59,22,41,69,151,101,184][43,-22,91,13,175,121,220][22,39,4,53,88,94,147][75,11,115,36,151,70,151] 2、利用MATLAB 语言提供的现成函数对习题1中给出的两个矩阵进行分析,判定它们是否 为奇异矩阵,得出矩阵的秩、行列式、迹和逆矩阵,检验得出的逆矩阵是否正确。 解:由于a=det(A)=3.7396e+04;故A 是非奇异矩阵。B=det(B)=0,故B 是奇异矩阵; 由于a=rank(A)=7,故A 的秩为7;由于b=rank(B)=5,故B 的秩为5;由于a=trace(A)=27,b=trace(B)=26,故A,B 的迹为27,26;由a=inv(A)得A 的逆矩阵如下;

完整word版matlab解非线性规划例题

关于非线性规划问题 背景: 线性规划问题,即目标函数和约束条件都是线性函数的规划问题,但在实际工作中,还常常会遇到另一类更一般的规划问题,即目标函数和约束条件中至少有一个是非线性函数问题,即非线性规划问题。 求解方法:Matlab软件 问题: 某厂向用户提供发动机,合同规定,第一、二、三季度末分别f(x)?ax?bx^2(元)交货50台、70台、90台。,每季度的生产费用为x是该季度生产的台数,若交货有剩余可用于下季度交货,但需其中c元。已知工厂每季度最大生产能力为100支付存储费,每季度每台bca=4,问工厂如何安排每台,第一季度开始时无存货,设=0.2,=50,月生产计划,才能既满足合同又使总费用最低(包括生产费用和库存费用)。 问题分析与假设: F(x)。目标函数是总费用,记为约束条件是生产合同和生产能力的限制。 x1x2台,则第三季度生产台,第二季度生产设第一季度生产(210?x1?x2)台。则: 120?x1?x2?210 50?x1?1000?x2?100 bca=4,

=0.2,=50,由. T1?50x1?0.2x1^2,第一季度生产费用 k1?4(x1?50),剩余品存储到下一季度的费用 T2?50x2?0.2x2^2同理可得: k2?4(x1?x2?120) T3?50(210?x1?x2)?0.2(210?x1?x2)^2 建模 总费用 F(x)?T1?T2?T3?k1?k2?10300?0.2(x1^2?x2^2)?0.2(210?x1?x2)^2?4(2x1?x2?120)先建立M-文件: a=50;b=0.2;c=4; H=diag(2*b*ones(1,3));C=[a+2*c,a+c,a]; A1=[-1,0,0;-1,-1,0];b1=[-50,-120]'; A2=[1 1 1];b2=210; v1=[0 0 0]';v2=[100 100 100]'; [x,faval,exitflag,output,lambada]=quadprog(H,C,A1,b1,A2,b2,v1,v2,[]) X2=x'*H*x/2+C*x-140*c 再建立主程序: a=50;b=0.2;c=4; H=diag(2*b*ones(1,3));C=[a+2*c,a+c,a]; A1=[-1,0,0;-1,-1,0];b1=[-50,-100]'; A2=[1 1 1];b2=210; v1=[0 0 0]';v2=[100 100 100]'; [x,faval,exitflag,output,lambada]=quadprog(H,C,A1,b1,A2,b2,v1,v2,[]) X2=x'*H*x/2+C*x-140*c 运算结果: x =

相关主题
文本预览
相关文档 最新文档