Matlab上机2.doc

上传人:bao****ty 文档编号:143631731 上传时间:2020-09-01 格式:DOC 页数:9 大小:152KB
返回 下载 相关 举报
Matlab上机2.doc_第1页
第1页 / 共9页
Matlab上机2.doc_第2页
第2页 / 共9页
Matlab上机2.doc_第3页
第3页 / 共9页
Matlab上机2.doc_第4页
第4页 / 共9页
Matlab上机2.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《Matlab上机2.doc》由会员分享,可在线阅读,更多相关《Matlab上机2.doc(9页珍藏版)》请在金锄头文库上搜索。

1、注意:充分利用软件的帮助文件Matlab软件基本应用操作指令窗运行入门最简单的计算器使用法【例2.5.1-1】求的算术运算结果。(1)用键盘在MATLAB指令窗中输入以下内容 (12+2*(7-4)/32 (2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果。ans = 2 【例2.5.1-2】简单矩阵的输入步骤。(1)在键盘上输入下列内容A = 1,2,3; 4,5,6; 7,8,9 (2)按【Enter】键,指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果:A = 1 2 3 4 5 6 7 8 9 【例

2、2.5.1-3】矩阵的分行输入A=1,2,34,5,67,8,9 (以下是显示结果)A = 1 2 3 4 5 6 7 8 9 【例2.5.1-4】指令的续行输入(以下格式在除Notebook外的MATLAB环境中可运行)S = 1 1/2 + 1/3 1/4 + 1/5 1/6 . + 1/7 1/8 S =0.6345 数值、变量和表达式复数和复数矩阵【例2.5.2.5-1】复数表达,及计算。(1)经典教科书的直角坐标表示法z1= 3 + 4i z1 = 3.0000 + 4.0000i (2)采用运算符构成的直角坐标表示法和极坐标表示法z2 = 1 + 2 * i%运算符构成的直角坐标表

3、示法z3=2*exp(i*pi/6)%运算符构成的极坐标表示法z=z1*z2/z3 z2 = 1.0000 + 2.0000iz3 = 1.7321 + 1.0000iz = 0.3349 + 5.5801i 【例2.5.2.5-2】复数矩阵的生成及运算A=1,3;2,4-5,8;6,9*iB=1+5i,2+6i;3+8*i,4+9*i C=A*B A = 1.0000 - 5.0000i 3.0000 - 8.0000i 2.0000 - 6.0000i 4.0000 - 9.0000iB = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 8.0000

4、i 4.0000 + 9.0000iC = 1.0e+002 * 0.9900 1.1600 - 0.0900i 1.1600 + 0.0900i 1.3700 【例2.5.2.5-3】求上例复数矩阵C的实部、虚部、模和相角。C_real=real(C)C_imag=imag(C)C_magnitude=abs(C)C_phase=angle(C)*180/pi%以度为单位计算相角 C_real = 99 116 116 137C_imag = 0 -9 9 0C_magnitude = 99.0000 116.3486 116.3486 137.0000C_phase = 0 -4.4365

5、 4.4365 0 计算结果的图形表示【例2.5.3-1】画出衰减振荡曲线及其它的包络线。的取值范围是。t=0:pi/50:4*pi;%定义自变量取值数组y0=exp(-t/3);%计算与自变量相应的y0数组y=exp(-t/3).*sin(3*t);%计算与自变量相应的y数组plot(t,y,-r,t,y0,:b,t,-y0,:b)%用不同颜色、线型绘制曲线grid%在“坐标纸”画小方格 图 2.5.3-1 衰减振荡曲线与包络【例2.5.3-2】画出所表示的三维曲面。的取值范围是。clear;x=-8:0.5:8;%定义自变量x的一维刻度向量y=x;%定义自变量y的一维刻度向量X=ones(

6、size(y)*x;%计算自变量平面上取值点坐标的二维数组Y=y*ones(size(x);%计算自变量平面上取值点坐标的二维数组R=sqrt(X.2+Y.2)+eps;%计算中间变量Z=sin(R)./R;%计算与自变量二维数组相应的函数值mesh(Z);%绘制三维网格图colormap(hot) %指定网格图用hot色图绘制 图 2.5.3-2 三维网线图5.1无约束优化问题函数 fminunc格式 x = fminunc(fun,x0) %返回给定初始点x0的最小函数值点x = fminunc(fun,x0,options) % options为指定优化参数x,fval = fminun

7、c() %fval最优点x处的函数值x,fval,exitflag = fminunc() % exitflag为终止迭代的条件,与上同。x,fval,exitflag,output = fminunc() %output为输出优化信息x,fval,exitflag,output,grad = fminunc() % grad为函数在解x处的梯度值x,fval,exitflag,output,grad,hessian = fminunc() %目标函数在解x处的海赛(Hessian)值注意:当函数的阶数大于2时,使用fminunc比fminsearch更有效,但当所选函数高度不连续时,使用fm

8、insearch效果较好。例5-5 求的最小值。 fun=3*x(1)2+2*x(1)*x(2)+x(2)2; x0=1 1; x,fval,exitflag,output,grad,hessian=fminunc(fun,x0)结果为:或用下面方法: fun=inline(3*x(1)2+2*x(1)*x(2)+x(2)2)fun = Inline function: fun(x) = 3*x(1)2+2*x(1)*x(2)+x(2)2 x0=1 1; x=fminunc(fun,x0)Unconstrained optimization example Consider initially

9、 the problem of finding a minimum of the function: f(x) = exp(x(1) . (4x(1) 2 + 2x(2) 2 + 4x(1).x(2) + 2x(2) + 1)Define the objective to be minimized as an anonymous function:fun = (x) exp(x(1) * (4*x(1)2 + 2*x(2)2 + 4*x(1)*x(2) + 2*x(2) + 1)fun = (x) exp(x(1) * (4*x(1)2 + 2*x(2)2 + 4*x(1)*x(2) + 2*

10、x(2) + 1)Take a guess at the solution:x0 = -1; 1;Set optimization options: turn off the large-scale algorithms (the default):options = optimset(LargeScale,off);Call the unconstrained minimization function:x, fval, exitflag, output = fminunc(fun, x0, options);Optimization terminated: relative infinit

11、y-norm of gradient less than options.TolFun.The optimizer has found a solution at:xx = 0.5000 -1.0000The function value at the solution is:fvalfval = 1.0983e-015The total number of function evaluations was:output.funcCountans = 665.2线性规划问题线性规划问题是目标函数和约束条件均为线性函数的问题,MATLAB6.0解决的线性规划问题的标准形式为:min sub.to

12、: 其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵。其它形式的线性规划问题都可经过适当变换化为此标准形式。函数 linprog格式 x = linprog(f,A,b) %求min f *x sub.to 线性规划的最优解。x = linprog(f,A,b,Aeq,beq) %等式约束,若没有不等式约束,则A= ,b= 。x = linprog(f,A,b,Aeq,beq,lb,ub) %指定x的范围,若没有等式约束 ,则Aeq= ,beq= x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %设置初值x0x = linprog(f,A,b,Aeq,beq,

13、lb,ub,x0,options) % options为指定的优化参数x,fval = linprog() % 返回目标函数最优值,即fval= f *x。x,lambda,exitflag = linprog() % lambda为解x的Lagrange乘子。x, lambda,fval,exitflag = linprog() % exitflag为终止迭代的错误条件。x,fval, lambda,exitflag,output = linprog() % output为关于优化的一些信息说明 若exitflag0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大数字,exitflag0表示函数不收敛于解x;若lambda=lower 表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式约束,lambda=eqlin表示等式约束,lambda中的非0元素表示对应的约束是有效约束;output=iterations表示迭代次数,output=algorithm表示使用的运算规则,output=cgiterations表示PCG迭代次数。例5-1 求下面的优化问题mi

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号