文档库 最新最全的文档下载
当前位置:文档库 › MATLAB作业6(2016)作业本

MATLAB作业6(2016)作业本

MATLAB作业6(2016)作业本
MATLAB作业6(2016)作业本

MATLAB 作业6

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

解:

>> [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)

2、试求解下面的无约束最优化问题。

222222211433222424min 100()(1)90()(1)10.1[(1)(1)]19.8(1)(1)

x

x x x x x x x x x x -+-+-+-+-+-+--

解:

>> f=inline(['100*(x(2)-x(1)^2)^2+(1-x(1))^2+',...

'90*(x(4)-x(3)^2)+(1-x(3)^2)^2+',...

'10.1*((x(2)-1)^2+(x(4)-1)^2)+',...

'19.8*(x(2)-1)*(x(4)-1)'],'x');

x=fminunc(f,ones(7,1))

x =

1.0e+002 *

0.10546446798713

1.11232066767234

0.06782323911149

-1.11504746457726

0.01000000000000

0.01000000000000

0.01000000000000

3、 试用图解法求解下面的非线性规划问题,并用数值求解算法验证结果。

32121122121

2min (44)

20..100,0x x x x x s t x x x x +-+-+≥??-+-≥??≥≥? 解:

>> [x1,x2]=meshgrid(0:0.02:1,1:0.02:2);

z=x1.^3+x2.^2+4*x1+4;

ii=find(x1-x2+2<0); z(ii)=NaN;

ii=find(-x1.^2+x2-1<0); z(ii)=NaN;

ii=find(x1<0); z(ii)=NaN; ii=find(x2<0); z(ii)=NaN;

surf(x1,x2,z)

function [c,ce]=exc6f4(x)

ce=[];

c=[x(1)^2-x(2)+1];

>> f_opt=inline('x(1)^3+x(2)^2+4*x(1)+4','x');

A=[-1 1]; B=2; Aeq=[]; Beq=[]; xm=[0;0];

x=fmincon(f_opt,[0;1],A,B,Aeq,Beq,xm,[],'exc6f4');

4、 试求解此线性规划问题:

67

12341236723571,2,,7min 421..39

0x x x x x x x x x x x s t x x x x x ++++=??-+--+=??+++=??≥?

解:

>> [x1,x2]=meshgrid(0:0.02:1,1:0.02:2);

z=x1.^3+x2.^2+4*x1+4;

ii=find(x1-x2+2<0); z(ii)=NaN;

ii=find(-x1.^2+x2-1<0); z(ii)=NaN;

ii=find(x1<0); z(ii)=NaN; ii=find(x2<0); z(ii)=NaN;

surf(x1,x2,z)

function [c,ce]=exc6f4(x)

ce=[];

c=[x(1)^2-x(2)+1];

>> f_opt=inline('x(1)^3+x(2)^2+4*x(1)+4','x');

A=[-1 1]; B=2; Aeq=[]; Beq=[]; xm=[0;0];

x=fmincon(f_opt,[0;1],A,B,Aeq,Beq,xm,[],'exc6f4');

5、 试求解下面的二次型规划问题,并用图示的形式解释结果。

22112212

121212min 244633.49

,0x x x x x x x x s t x x x x -+--+≤??+≤??≥?

解:

>> H=[4 -4; -4 8]; f=[-6 -3];

Aeq=[]; Beq=[]; A=[1 1; 4 1]; B=[3;9]; xm=[0;0];

x=quadprog(H,f,A,B,Aeq,Beq,xm)

x =

1.95000000000000

1.05000000000000

6、 试求解下面的非线性规划问题。

122121221212121212min (42421)

0 1.5..1010,10x e x x x x x x x x x x x s t x x x x +++++≤??-++≥??≥-??-≤≤?

解:

function y=exc6fun6(x)

y=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);

function [c,ce]=exc6fun6a(x)

ce=[];

c=[x(1)+x(2); x(1)*x(2)-x(1)-x(2)+1.5; -10-x(1)*x(2)];

>> A=[]; B=[]; Aeq=[]; Beq=[]; xm=[-10; -10]; xM=[10; 10];

x0=(xm+xM)/2;

ff=optimset; ff.TolX=1e-10; ff.TolFun=1e-20;

x=fmincon('exc6fun6',x0,A,B,Aeq,Beq,xm,xM,'exc6fun6a',ff)

Maximum number of function evaluations exceeded;

increase OPTIONS.MaxFunEvals

x =

0.41947326053910

0.41947326053910

7、 试求解0-1线性规划问题,并用穷举方法检验得出的结果。

1234512345123452345min (57103)

542263220..22101i x x x x x x x x x x x x x x x s t x x x x x ++++-++-≥??-+--+≥??-+--≤??≤≤?

解:

>> f=[5 7 10 3 5]; B=[2; 0; 1]; ctype=[1;1;-1];

A=[1 -1 5 1 -4; -2 6 -3 -2 2; 0 -2 2 -1 -1];

intlist=[1;1;1;1;1]; xM=intlist; xm=zeros(5,1);

[res,b]=ipslv_mex(f,A,B,intlist,xM,xm,ctype); res'

ans =

0 1 1 0 0

MATLAB第一章作业答案

第一章 M A T L A B 概况与基本操作 1.选择题(每题2分,共20分): (1)最初的MATLAB 核心程序是采用D 语言编写的。 (2)即将于2011年9月发布的MATLAB 新版本的编号为C 。 2011Ra 2011Rb R2011b R2011a (3)在默认设置中,MATLAB 中的注释语句显示的颜色是B 。 A.黑色 B.绿色 C.红色 D.蓝色 (4)如果要以科学计数法显示15位有效数字,使用的命令是A 。 long e long long g long d (5)在命令窗口新建变量a 、b ,如果只查看变量a 的详细信息,使用的命令为A 。 a a (6)如果要清除工作空间的所有变量,使用的命令为C 。 all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上B 。 A.冒号 B.分号 C.空格 D.逗号 (8)如果要重新执行以前输入的命令,可以使用D 键。 A.下箭头↓ B.右箭头→ C.左箭头← D.上箭头↑ (9)如果要查询函数det 的功能和用法,并显示在命令窗口,应使用命令C 。 D.三者均可 (10)如果要启动Notebook 文档,下列D 操作是可行的。 A.在命令窗口输入notebook 命令 B.在命令窗口输入notebook filename 命令 C.在Word 中启动M-book 文档 D.三者均可 2.填空题(每空1分,共20分): (1)MATLAB 是matrix 和laboratory 两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler 和Jack Little 。 (2)在MATLAB 的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为褐红色,注释显示的字体为绿色,错误信息显示的字体为红色。 (3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format loose ,各行之间不添加空行的命令为format compact 。 (4)在MATLAB 中,各种标点符号的作用是不同的。例如,空格的作用是分隔数组每行各个元素,逗号的作用是分隔数组每行各个元素或函数的各个输入参数,分号的作用是作为不显示命令结果的命令行的结尾或分隔数组各列,冒号的作用是生成一维数组或表示数组全部元素,百分号的作用是引导一行注释,…的作用是连接相邻两行,感叹号的作用是调用操作系统命令。 3.程序设计题(每题10分,共40分) (1)以25m/s 的初速度向正上方投球(g=s 2 ),计算到达最高点的时间tp 以及球从出发点到最高点的距离hp 。 解:根据物理学知识,物体上抛运动的速度与经过的时间之间的关系为0p p v v gt =-,因此所需要的时间为0p p v v t g -= 。而到达最高点时的速度0p v =,因此可根据此公式求出tp : v0=25;g=;vp=0; tp=(v0-vp)/g tp =

matlab课后习题及答案详解

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?

matlab课后习题解答第二章doc

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象? 3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1)) 〖目的〗 ●不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+0.1 c2=sym(3/7+0.1) c3=sym('3/7+0.1') c4=vpa(sym(3/7+0.1)) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = 0.5286 c2 = 37/70 c3 = 0.52857142857142857142857142857143 c4 = 0.52857142857142857142857142857143 Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 ●理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1) ans = a

symvar(sym('z*exp(j*th)'),1) ans = z 3 求以下两个方程的解 (1)试写出求三阶方程05.443 =-x 正实根的程序。注意:只要正实根,不要出现其他根。 (2)试求二阶方程022=+-a ax x 在0>a 时的根。 〖目的〗 ● 体验变量限定假设的影响 〖解答〗 (1)求三阶方程05.443 =-x 正实根 reset(symengine) %确保下面操作不受前面指令运作的影响 syms x positive solve(x^3-44.5) ans = (2^(2/3)*89^(1/3))/2 (2)求五阶方程02 2 =+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2) Warning: Explicit solution could not be found. > In solve at 83 ans = [ empty sym ] syms x clear syms a positive solve(x^2-a*x+a^2) ans = a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/2 4 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。 a =@, b = sym( @ ), c = sym( @ ,' d ' ), d = sym( '@ ' ) 在此,@ 分别代表具体数值 7/3 , pi/3 , pi*3^(1/3) ;而异同通过vpa(abs(a-d)) , vpa(abs(b-d)) , vpa(abs(c-d))等来观察。 〖目的〗 ● 理解准确符号数值的创建法。 ● 高精度误差的观察。 〖解答〗 (1)x=7/3 x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'), a =

matlab第七次作业

兔子繁殖问题3 如果一对兔子每一个月可以生一对兔子,并且兔子在出生二个月以后就具有繁殖后代的能力,三个月后就离开群体。由一对兔子开始,一年可以繁殖成多少对兔子?求这个种群的稳定分布。 假设: 1、一个月生一对兔子; 2、幼兔经过两个月之后成为成兔; 3、成兔在生了兔子之后离开这个群体 变量: 一月兔——a1(n) 二月兔——a2(n) 三月兔——a3(n) a1(n)=a2(n-1)+a3(n-1) a2(n)=a1(n-1) a3(n)=a2(n-1) 推知,a(n)=A*a(n-1) A = 0 1 1 1 0 0 0 1 0 a=A^12*a 得到: a = 12 9 7 结论:得到的一月兔是12对,二月兔是9对,三月兔是7对。 [v,d]=eig(A) 得到的是: v = -0.7265 0.0804 - 0.4885i 0.0804 + 0.4885i -0.5484 -0.4344 + 0.3688i -0.4344 - 0.3688i -0.4140 0.6559 0.6559 d = 1.3247 0 0 0 -0.6624 + 0.5623i 0

0 0 -0.6624 - 0.5623i t(:,1)=v(:,1)/sum(v(:,1)) 得到的是: t = 0.4302 0.3247 0.2451 得出结论: 一月兔在年底占43.02%; 二月兔在年底占32.47%; 三月兔在年底占24.51%; 一群动物最高年龄为15岁(年),繁殖周期为5年,因此每5岁一组分成3个年龄组,各组繁殖率为0, 4, 3,存活率为1/2,1/4。建立种群增长模型。 (1)开始每组各有1000只,求30年后各组分别有多少只; 并确定种群的固有增长率和 稳定分布。 (2)如果饲养者每5年出售一次动物,出售量为龄组i在这5年的增量,记出售量与该 龄组存量之比为本时段收获系数H,即hi(n)xi (n)=xi (n)-xi (n-1),H(n)=diag(h1(n), h2 (n), h3(n)) 。建立收获模型。 (3)如果饲养者只出售幼龄组动物,即h2 =h3 =0。求稳定收获的收获系数,该种群的 稳定分布和收获量。(所谓稳定收获指收获量不变,这时收获系数和收获后的种群数量与时间n无关) 解: (1) 假设: 每个年龄组的个体独立,且不受外界影响; 变量: 幼龄兔——a0(n) 中龄兔——a1(n) 老龄兔——a2(n) 按年龄分组的种群增长(Leslie矩阵)模型 可知,a(n)=A*a(n-1) A = 0 4.0000 3.0000 0.5000 0 0 0 0.2500 0 [v, d]=eig(A)

MATLAB第一次实验

一、【实验目的】 了解matlab基础知识和操作 一、【实验任务】 P16 4. 编写函数文件,计算∑k!,并求出当n=20时表达式的值。 P27 2. 矩阵A=[1,2,3;4,5,6;7,8,9],B=[4,6,8;5,5,6;3,2,2],计算A*B,A.*B,并比较两者的区 别。 P27 3. 已知矩阵A=[5,2;9,1],B=[1,2;9,2],做简单的关系运算A>B,A= =B,AB)。 P34 1. 用π/4=1-/3+1/5-1/7+…公式求π的近似值,直到某一项的绝对值小于10-6为止。 二、【实验程序】 P16 第4题 function s=s(n) y=1; sum=0; for i=1:n; y=y*i; sum=sum+y; end sum >> s(20) sum = 2.5613e+18 P27 第2题 A=[1 2 3;4 5 6;7 8 9]; B=[4 6 8;5 5 6;3 2 2]; >>A*B ans = 23 22 26 59 61 74 95 100 122 >> A.*B

ans = 4 12 24 2 25 36 21 16 18 P27 第3题 >> A=[5 2;9 1]; >> B=[1 2;9 2]; >> A>B ans = 1 0 0 0 >> A==B ans = 0 1 1 0 >> A> (A==B)&(A> (A==B)&(A>B) ans = 0 0 0 0

第五次作业

第五次作业外文资源 使用pubmed完成,要求写出检索式,检出文献篇数及相关文献题录一篇。 1、查找醛糖还原酶(Aldose reductase)抑制剂(inhibitor)预防或治疗糖尿 病肾病(Diabetic Kidney Diseases)方面的相关文献。 ("Aldehyde Reductase/antagonists and inhibitors"[Mesh]) AND ( "Diabetic Nephropathies/prevention and control"[Mesh] OR "Diabetic Nephropathies/therapy"[Mesh] ) 70篇 Therapeutic potential of resveratrol in diabetic complications: In vitro and in vivo studies. Ciddi V, Dodda D. Pharmacol Rep. 2014 Oct;66(5):799-803. doi: 10.1016/j.pharep.2014.04.006. Epub 2014 Apr 30. PMID: 25149983 2、以南京医科大学(NANJING MEDICAL UNIVERSITY)流行病学教研室沈洪兵为例,用著者沈洪兵(Shen Hongbing,人名索引形式为:Shen HB或Shen H) 检索他在Cancer Lett上发表的文章。 (shen h[Author] AND "nanjing medical university"[Affiliation]) AND "cancer lett"[Journal] 5篇 ERCC6/CSB gene polymorphisms and lung cancer risk.Ma H1 , Huang W, Shen H. 3、胰腺癌诊断(Pancreatic Cancer)的比较研究(comparative study)的随 机对照试验(randomized controlled trial)方面的文献。 ((Pancreatic Cancer AND Randomized Controlled Trial[ptyp])) AND (Pancreatic Cancer AND Comparative Study[ptyp]) 275 A randomized, placebo-controlled phase III trial of masitinib plus gemcitabine in the treatment of advanced pancreatic cancer. Deplanque G, Demarchi M, Hebbar M, Flynn P, Melichar B, Atkins J, Nowara E,

matlab第一次实验报告

Matlab第一次实验报告 2012029010010 尹康 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x,y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 程序代码: n=input('input the number of pionts:'); a=input('input a:'); b=input('input b:'); x=[]; y=[]; x(1)=input('input x1:'); y(1)=input('input y1:'); %输入点数、初始值以及系数for i=2:n x(i)=a*x(i-1)-b*(y(i-1)-x(i-1)^2); y(i)=a*x(i-1)+b*(y(i-1)-x(i-1)^2); %根据已输入的数据进行迭代end figure;plot(x,y,'linewidth',2) axis equal %横纵坐标等比例 text(x(1),y(1),'1st point') %标记初始点 运行结果:

心得体会及改进:在输入某些数据时,所绘曲线可能是一条折线(如:n=5,a=b=x1=1,y1=2)甚至只有一个点(如:n=5,a=b=x1=y1=1),此时可能出现曲线与坐标轴重合或无法看到点的情况,为了更清晰地展现曲线,可以使线宽适当加宽并标记初始点。 2.编程实现奥运5环图,允许用户输入环的直径。 程序代码: 函数circle: %在指定的圆心坐标处,用指定颜色、宽度的线条绘出指定半径、圆心角的弧 function f=circle(r,x,y,color,linw,alp1,alp2) alp=linspace(alp1,alp2); X=r*cos(alp)+x; Y=r*sin(alp)+y; plot(X,Y,color,'linewidth',linw) end 主程序代码: r=input('input r:');

matlab课后习题答案第四章

第4章数值运算 习题 4 及解答 1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分 diff或数值梯度gradient指令计算)(t y'曲线 y',然后把)(t y和)(t 绘制在同一图上,观察数值求导的后果。(模拟数据从prob_data401.mat获得) 〖目的〗 ●强调:要非常慎用数值导数计算。 ●练习mat数据文件中数据的获取。 ●实验数据求导的后果 ●把两条曲线绘制在同一图上的一种方法。 〖解答〗 (1)从数据文件获得数据的指令 假如prob_data401.mat文件在当前目录或搜索路径上 clear load prob_data401.mat (2)用diff求导的指令 dt=t(2)-t(1); yc=diff(y)/dt; %注意yc的长度将比y短1 plot(t,y,'b',t(2:end),yc,'r') (3)用gradent求导的指令(图形与上相似) dt=t(2)-t(1);

yc=gradient(y)/dt; plot(t,y,'b',t,yc,'r') grid on 〖说明〗 ● 不到万不得已,不要进行数值求导。 ● 假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级 以上。 ● 求导会使数据中原有的噪声放大。 2 采用数值计算方法,画出dt t t x y x ? =0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。 〖提示〗 ● 指定区间的积分函数可用cumtrapz 指令给出。 ● )5.4(y 在计算要求不太高的地方可用find 指令算得。 〖目的〗 ● 指定区间的积分函数的数值计算法和cumtrapz 指令。 ● find 指令的应用。 〖解答〗 dt=1e-4; t=0:dt:10; t=t+(t==0)*eps; f=sin(t)./t; s=cumtrapz(f)*dt; plot(t,s,'LineWidth',3) ii=find(t==4.5); s45=s(ii) s45 =

北京科技大学MATLAB作业3

《数学实验》报告 实验名称 MATLAB绘图 学院 专业班级 姓名 学号 2014年 5月

一、【实验目的】 学会用MA TLAB绘制二维、三维图形,并为其标注、添色等。 二、【实验任务】 1.用mesh与surf命令绘制三维曲面z=x^2+3y^2的图像,并使用不同的着色效果及光照效果 2.绘制由函数(x^2)/9+(y^2)/16+(z^2)/4=1形成的立体图,并通过改变观测点获得该图形在各个坐标平 面上的头影 3.画三维曲面z=5-x^2-y^2(-2<=x,y<=2)与平面z=3的交线 三、【实验程序】 1. t=-1:0.1:1; [x,y]=meshgrid(t); z=x^2+3*y^2; subplot(1,2,1),mesh(x,y,z),colormap(bone),light('position',[20,20,5]) subplot(1,2,2),surf(x,y,z),colormap(cool) 2. [xx,yy,zz]=sphere(40); x=xx*2;y=yy*3;z=zz*4; subplot(2,2,1),surf(x,y,z); subplot(2,2,2),surf(x,y,z);view(0,90) subplot(2,2,3),surf(x,y,z);view(90,0) subplot(2,2,4),surf(x,y,z);view(0,0) 3. t=-2:0.1:2;[x,y]=meshgrid(t);z1=5-x.^2-y.^2; subplot(1,3,1),mesh(x,y,z1),title('曲面z1=5-x.^2-y.^2'); z2=3*ones(size(x)); subplot(1,3,2),mesh(x,y,z2),title('平面z=3'); r0=abs(z1-z2)<=1; zz=r0.*z2;yy=r0.*y;xx=r0.*x;subplot(1,3,3); subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'.'),title('交线') 四、【实验结果】

Matlab实验第一次实验答案

实验一Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、熟悉Matlab程序设计的基本方法 二、实验内容: 1、帮助命令 使用help命令,查找sqrt(开方)函数的使用方法; 解:sqrt Square root Syntax B = sqrt(X) Description B = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results. Remarks See sqrtm for the matrix square root. Examples sqrt((-2:2)') ans = 0 + 1.4142i 0 + 1.0000i

1.0000 1.4142 2、矩阵运算 (1)矩阵的乘法 已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B 解:A=[1 2;3 4 ]; B=[5 5;7 8 ]; A^2*B (2)矩阵除法 已知A=[1 2 3;4 5 6;7 8 9]; B=[1 0 0;0 2 0;0 0 3]; A\B,A/B 解:A=[1 2 3;4 5 6;7 8 9 ]; B=[1 0 0;0 2 0;0 0 3 ]; A\B,A/B (3)矩阵的转置及共轭转置

MATLAB作业6参考答案(修)

MATLAB 作业6参考答案(修) 1、用图解的方式找到下面两个方程构成的联立方程的近似解。(注:在图上可用局部放大的方法精确读出交点值) 2223223,x y xy x x y y +=-=- 【求解】这两个方程应该用隐式方程绘制函数ezplot() 来绘制,交点即方程的解。 >> ezplot('x^2+y^2-3*x*y^2'); hold on ezplot('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)') ②中的二元方程可以由下面的命令用图形的方式显示出来。 >> ezsurf('(x^2+y^2+x*y)*exp(-x^2-y^2-x*y)') 用下面的语句可以得出等高线。为了比较起见,还绘制出其他值下的等高线。等高线值为0 的两条斜线为方程的解。 >> [x,y]=meshgrid(-3:0.1:3); z=(0.1*x.^2+0.1*y.^2+x.*y).*exp(-x.^2-y.^2-x.*y); [C,h]=contour(x,y,z,[-0.1:0.05:0.1]); 4、用数值求解函数求解习题3中方程的根,并对得出的结果进行检验。 【求解】求解方程求解问题可以采用fsolve() 和solve() 函数直接求解,这里采用这两个函数分别求取这两个方程的根。 ① 可以用下面方法求出一元函数的根,经检验结果较精确。 >> syms x; x1=solve('exp(-(x+1)^2+pi/2)*sin(5*x+2)') x1 = -2/5

稳态分析第五次作业及答案

思考题 2-5 一般闭式电力网、各线段R/X 值相等的闭式电力网以及等截面闭式电力网的功率分布的特点是什么? 答:电力网功率的自然分布特点如下: 一般闭式电力网,按阻抗分布:* * **,m mB m mA a b S Z S Z S S Z Z ∑ ∑= =∑∑ 各线段/R X 值相等的闭式电力网,按电阻分布:****,m mB m mA a b S R S R S S R R ∑ ∑ = = ∑∑ 等截面闭式电力网,按长度分布:,m mB m mA a b S l S l S S l l ∑ ∑ = = ∑∑ 习题 2-5 试对图2-33所示某220kV 区域电力网络进行潮流计算。已知: 导线参数 Ab 段:LGJ-400,15km ,r 1=0.08Ω/km ,x 1=0.418Ω/km ,b 1=2.7×10- 6S/km bc 段:LGJ-400,180km 变压器参数 T-1:SFPL 3-31500/220,分接头电压为220/38.5kV ,等值参数(归算至高压侧)分别为:R T =13.95Ω,X T =218.18Ω,ΔP 0=83.7kW ,ΔQ 0=284kVar ; T-2:SFPSL-60000/220,分接头电压为220/69/46kV (中、低压侧网络额定电压分别为60kV 和44kV ),容量比100%/100%/66.7%(60/60/40MV A ),等值参数(归算至高压侧)分别为:R T 1=3.36Ω,R T 2=1.44Ω,R T 3=2.58Ω,X T 1=129.5Ω,X T 2=-7.85Ω,X T 3=63.1Ω,ΔP 0=97.8kW ,ΔQ 0=666kVar 。 V 20+j10MVA 20+j10MVA 30+j20MVA 图2-33 220kV 区域电力网络 要求: (1) 绘制电网归算到220kV 的等值电路(含理想变压器),各变压器的励磁导纳支路接在高压侧;

matlab基础练习题及答案

第1章 MATLAB 基础 MATLAB 操作桌面有几个窗口如何使某个窗口脱离桌面成为独立窗口又如何将脱离出去的窗口重新放置到桌面上 答:在MATLAB 操作桌面上有五个窗口。在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面成为独立窗口。在独立窗口的Desktop 菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。 如何启动M 文件编辑/调试器 答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动。在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器。 存储在工作空间中的数组能编辑吗如何操作 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 命令历史窗口除了可以观察前面键入的命令外,还有什么用途 答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别 答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 在MATLAB 中有几种获得帮助的途径 答:(1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器。 (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息。 (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数。 (4)模糊查询:输入命令的前几个字母,然后按Tab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 在MATLAB 中如何建立矩阵??? ???194375,并将其赋予变量a 答:在Command Window 窗口输入操作: >> a=[5 7 3;4 9 1] 有几种建立矩阵的方法各有什么优点 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷; (2)通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据。 在进行算术运算时,数组运算和矩阵运算各有什么要求 答:进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 数组运算和矩阵运算的运算符有什么区别 答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 计算矩阵??????????897473535与??? ?? ?????638976242之和。 答: 求??? ???+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。 答: 计算??????=572396a 与?? ? ???=864142b 的数组乘积。 答:

Matlab作业 第5-7题

题目五 题目 5:电器工程低通滤波电路 图3.8简单的低通滤波电路 上图是向大家展示的一个简单的低通滤波电路。这个电路是由一个电阻和一个电容组成。输出电压V0与输入电压V i的电压比为 V o V i = 1 1+j2πfRC 其中V i是在频率f下的正弦输入电压。R代表电阻,单位为欧姆。C代表电容,单位为法拉。j为-1 假设R=16kΩ,电容C=1μF,请在同一个图形窗口下分别画出这个滤波器的幅频特性、相频特性曲线,要求幅频特性曲线坐标轴均采用对数坐标,相频特性曲线频率坐标用对数坐标。。 代码: clear all; R=16000; C=0.000001; j=sqrt(-1); f=1:1:10000; A=1./(1+j*2.*pi.*f*R.*C); X=angle(A); subplot(2,1,1); loglog(f,A); title('幅频特性'); xlabel('f');ylabel('A'); grid on; subplot(2,1,2); semilogx(f,X); title('相频特性曲线'); xlabel('f');ylabel('X'); grid on;

题目六 题目:工程师们经常用分贝或dB 来描述两功率之比.1dB 的定义如下 1 210 log 10P P dB =P 2是已测量的功率,P 1代表参考功率. a.假设参考功率P 1为1mw,编写一个程序,接受一个输入功率P 2并把转化成为以1mw 为参考功率的dB.(它在工程上有一个特殊单位dBm).在编写程序时,注意培养好的编程习惯. b.写一个程序,创建一个以W 为单位的功率的相对功率(单位为dBm)的图象.第一个图象的XY 轴都要用线性轴.而第二图象要用对数-线性xy 轴.

Matlab第六章作业

Y X Z+ = 1 XY Z= 2 Matlab作业第六章 姓名:袁伟薯学号:2014301510030 习题1: 使用Combinatoinal Logic模块完成对以下函数功能的建模和仿真: AC BC AB X+ + =) )( )( (A C C B B A Y+ + + = 仿真模型实现步骤如下: 1.模型分析 根据逻辑表达式写出真值表 2.模型搭建 首先建立一个名为combinational_logic_hm1的simulink仿真文件,搭建模型。需要以下模块:3个Pulse Generator模块,2个Logical Operator模块,2个combinatorial logic模块,scope 模块,2个Mux模块以及3个Data Type Conversion模块 注:如果在没有Data Type Conversion的情况下,仿真不能运行会出现如下错误

查阅PPT和搜阅资料得知combinatorial logic模块接收boolean类型输出,输出也是boolean 类型,可以有两种方法解决:(1)将仿真参数中Optimization中的Implement logic signals as boolean data(V.S. double)去掉,避免数据类型的不匹配。(2)把数据转换模块Data Type Conversion加在conbinatorial Logic模块输出后。得到搭建的模型如下 3.各模块参数的设定如下: Pulse Generator模块参数设置 4.分析总结: (1)输出波形分析:仿真模型搭建完毕后,在Simulation/Simulation parameters内调

中南大学matlab课后习题

第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+*10^-6) w = (2)a=;b=5;c=; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a); x x = (3)a=;b=; y=2*pi*a^2*[(1-pi/4)*b-4)*a]; y y = (4)t=[2,1-3i;5,]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z = +004 * - - - - 2,已知a,b,求下列表达式的值。 a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0];(1)a+6*b ans = 47 23 -10

12 37 26 -15 73 7 a^2-b+eye(3) ans = -18 -217 17 22 533 109 21 867 526(2)a*b ans = 14 14 16 -10 51 21 125 328 180 a.*b ans = -8 15 4 0 35 24 -9 122 0 b*a ans = -11 0 -15 7 228 53 3 -1 28(3)a/b ans = b\a

ans = (4)[a,b] ans = -1 5 -4 8 3 -1 0 7 8 2 5 3 3 61 7 -3 2 0 [a([1,3],:);b^2] ans = -1 5 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3.已知a,完成下列操作。 a=[23,10,,0;41,-45,65,5;32,5,0,32;6,,54,]; (1)输出a在[10,25]范围内的全部元素。 k=find(a>10&a<25) a(k) k = 1 ans = 23 (2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。 b=a(1:3,:)

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2:

MATLAB第六次上机实验报告

MATLAB第六次上机实验报告 0210901班学号2009210811 姓名:李贤凤Quiz 3.1 >> a=20; >> b=-2; >> c=0; >> d=1; >> a>b ans = 1 >> b>d ans = >> a>b&c>d ans = >> a==b ans = >> a&b>c ans = >> ~~b ans = 1 >> a=2; >> b=[1 -2;-0 10]; >> c=[0 1;2 0]; >> d=[-2 1 2;0 1 0]; >> ~(a>b) ans = 0 0 0 1 >> a>c&b>c ans = 1 0 0 1 >> c<=d ??? Error using ==> <= Matrix dimensions must agree.

>> a=2; >> b=3; >> c=10; >> d=0; >> a*b^2>a*c ans = >> d|b>a ans = 1 >> (d|b)>a ans = >> a=20; >> b=-2; >> c=0; >> d='Test'; >> isinf(a/b) ans = >> isinf(a/c) Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = 1 >> a>b&ischar(d) ans = 1 >> isempty(c) ans = Quiz3.2 1.% Script file : Sqrt_x.m % Purpose: % This program is used to calculate the square root of a randem number % Record of revisions: % Date Programmer Description of change % === ======== ================ % 10/22/2010 lixianfeng Original code

相关文档