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

噶米MATLAB作业6(20210125132720)

噶米MATLAB作业6(20210125132720)
噶米MATLAB作业6(20210125132720)

MATLAB 作业6

1用图解的方式找到下面两个方程构成的联立方程的近似解。(注:在图上可用局部放大

的方法精确读出交点值)

x2 y2 =3xy2, x3 _x2二y2 _ y

解:>> ezplot('x A2+y A2-3*x*y A2');

hold on

ezplot('xA3-xA2=yA2-y')

>> syms x1 x2 y1 y2;

>> x1=0.4012;y1=0.8916;x2=1.5894;y2=0.8185;

>> vpa(x1A2+y1A2-3*x1*y1A2)

ans =

-0.0008904940159999430449033752665855

>> vpa(x2A2+y2A2-3*x2*y2A2)

ans =

0.0017159735499996386920429358724505

E 2、在图形绘制语句中,若函数值为不定式NaN,则相应的部分不绘制出来,试利用该规律

绘制z =sin(xy)的表面图,并剪切下x2y2 - 0.52的部分。

解: >> [x,y]=meshgrid(-1:.1:1); z=sin(x.*y);

>> ii=fi nd(x.A2+y.A2<=0.5A2);

>> z(ii)=NaN;

>> surf(x,y,z)

3、试用图解法求解下面的一元和二元方程,并验证得出的结果。

1) f(X)二e" 1)2 /2sin(5x 2), 2) f(x, y) =(x2y2xy)e^2 ^2

解:(1)>> ezplot('exp(-(x+1)A2+pi/2)*sin(5*x+2)',[-4 4])

>> hold on,

>> lin e([-4,4],[0,0])

(2)>> ezsurf('(x A2+y A2+x*y)*exp(-x A2-y A2-x*y)')

>> [x,y]=meshgrid(-3:0.1:3);

>>z=(0.1*x.A2+0.1*y.A2+x.*y).*exp(-x.A2-y.A2-x.*y);

>> [C,h]=con tour(x,y,z,[-0.1:0.05:0.1])

(厲亠]Yl界胸i)

4、用数值求解函数求解习题3中方程的根,并对得出的结果进行检验。

解:(1)>> syms x;

>> x1=solve('exp(-(x+1)A2+pi/2)*si n(5*x+2)') x1 = -2/5

>> subs('exp(-(x+1)八2+pi/2)*si n(5*x+2)',x,x1) ans =

(2)>> syms x; y仁solve('(x A2+y A2+x*y)*exp(-x A2-y A2-x*y)=0','y') y1 =

-x/2 + (3A(1/2)*x*i)/2

-x/2 - (3A(1/2)*x*i)/2

>> y2=simple(subs('(xA2+yA2+x*y)*exp(-xA2-yA2-x*y) ','y',y1))

y2 =

o

o

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

min 100(x2-x;)2(1-xJ2 90(X4 -x;) (1-x;)2

x

2 2

10.1[(X2 -1) (x4 -1) ] 19.8(X2 -1)(X4 -1)

>> 解:

f=i nlin e(['100*(x(2)-x(1)A2)A2+(1-x(1))A2+90*(x(4)-x(3)A2)+(1-x(3)A2)A2+10.1*(( x(2)-1)A2+(x(4)-

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

>> x=fmi nun c(f,[1;1;1;1])

Warning: Gradie nt must be provided for trust-regi on algorithm;

using lin e-search algorithm in stead.

> In fminunc at 367

Local minimum found.

Optimizati on completed because the size of the gradie nt is less tha n

the default value of the function tolera nee.

x =

10.5464

111.2315

6.7823

-111.5041

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

min (x1 x f -4X] 4)

X -x22_0

st *—xf+X z—I^O

X 畠0, x2 >0

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

>> z=x1.A3+x2.A2+4*x1+4;

>>ii=fi nd(x1-x2+2<0); z(ii)=NaN;

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

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

>>ii=find(x2<0); z(ii)=NaN; >>surf(x1,x2,z) >> mi n(z(:))

ans =

5

i o

fun cti on [c,ce]=exc6f4(x)

ce=[];

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

>> f_opt=i nlin e('x(1)A3+x (2) A2+4*x(1)+4','x');

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

>>x=fmi neo n( f_opt,[0;1],A,B,Aeq,Beq,xm,[],'exc6f4')

x =

1

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

min x6 x7

x1+x

一2为+X2 —X3 —X6 +X7 =1

s.t

3X2 十X3 + X5 + X7 = 9

X1,2,|?|,7

解: >> f=[0,0,0,0,0,1,1];

>>Aeq=[1 1 1 1 0 0 0; -2 1-1 0 0 -1 1; 0 3 1 0 1 0 1];

>>Beq=[4; 1; 9];

>>xm=[0;0;0;0;0;0;0];

>> A=[]; B=[];

>>x=li nprog(f,A,B,Aeq,Beq,xm)

Optimization terminated.

x =

0.3952

2.3213

0.5309

0.7526

1.5053

0.0000

0.0000

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

2 2 min 2为「4为灭2 4x 2「6为「3x 2

解:>> 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)

Warning: Trust-region-reflective algorithm does not solve this type of problem, using active-set algorithm. You could also try the

in terior-po in t-c onvex algorithm: set the Algorithm opti on to in terior-po in t-con vex a nd rerun. For more help, see Choos ing the Algorithm in the docume ntatio n.

> In quadprog at 371

Optimization terminated.

x =

1.9500

1.0500

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

min e x 1

(4x 2 2x 2 4x 1X 2 2x ? 1) % +x 2 兰 0

-x -i x ? x x 2 -1.5

解: function y=exc6fun6(x) y=exp(x(1))*(4*x(1)A 2+2*x(2)A 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; s.t

9、 s.t X 1X 2 K -10

一10岂羽必乞

10

>> ff=optimset; ff.TolX=1e-10; ff.ToIFu n=1e-20;

>> x=fmi neon ('exc6fu n6',xO,A,B,Aeq,Beq,xm,xM,'exc6fu n6a',ff) Maximum nu mber of function evaluati ons exceeded;

in crease OPTIONS.MaxFu nEvals

x =

0.41947326053910

0.41947326053910

>> i=1; x=x0;

>> while (1)

>> [x,a,b]=fmi ncon( 'exc6fu n6',x,A,B,Aeq,Beq,xm,xM,'exc6fu n6a',ff); >> if b>0, break; end

>> i=i+1;

>> end

>> x,i

x =

1.18249727581645

-1.73976692398900

i =

5

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

min (5% 7屜10x3 3x4疋)

% —屜+5x3+ % — 4x5> 2

一2为+6x2 _3x3 _2x4 +2x5工0

s.t

I —2x2+2% —人—X5 兰1

[ 0Ex^1 解:>> 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,i ntlist,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第一次实验

一、【实验目的】 了解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

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第一次实验报告 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实验第一次实验答案

实验一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

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第六章作业

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

2010专第一次上机作业:%20MatLab练习题-基本运算

一、书上命令练习: 二、MatLab 练习1 注意: 1,请按要求作题,写出程序并把结果附上,并保存文件. 2,仔细填写 “学生信息”. 3,把此word 文档的文件名更名为你的 “学号 姓名(*)”-*表示第几次作业.在下课前5分钟提交. 1, (5*2+1.3-0.8)*10^2/25 答案:42 2,y =23log )10sin(4 ) 43.0(2 +?+-e π 答案: 3,z = 10sin(π/3) ... cos(π/3) 答案: 4,x = sin(223/3), y = x^2,z = y*10 ; 求x+2y-5z 答案: 5,i e z i z i z ?==+=π23215,2,72,计算3 221z z z z z += 答案: 6, 建立起始值=3,增量值=5.5,终止值=44的一维数组x (填写程序语句) 答案:X=(3:5.5:44) X =

3.0000 8.5000 1 4.0000 19.5000 2 5.0000 30.5000 3 6.0000 41.5000 7, 建立等差一维数组x :首项为0,末项为π,项数为15 (填写程序语句) 答案: >> X=linspace(0,pi,15) X = Columns 1 through 8 0 0.2244 0.4488 0.6732 0.8976 1.1220 1.3464 1.5708 Columns 9 through 15 1.7952 2.0196 2.2440 2.4684 2.6928 2.9172 3.1416 8, 计算行列式的值1 8 7 624 3 23 =A 答案:-8 9, 矩阵??????????=18 7 624323A ,矩阵??? ? ? ?? ???=33 3 222111 B ;分别求出A x B 及A 与B 中对应元素 之间的乘积的程序语句。 答案>> A=[3 2 3;4 2 6;7 8 1] A = 3 2 3 4 2 6 7 8 1 >> det(A) ans = -8

东华大学matlab数学实验-第六次答案

第六章 1 (1) . >> odefun=@(x,y)x+y; >> [t,y]=ode45(odefun,1:1:3,1) t = 1 2 3 y = 3.4366 11.7781 36.1711 >> (3) >> clear; >> fun=@(t,y)[y(2);0.01*y(2)^2-2*y(1)+sin(t)]; >> [t,y]=ode45(fun,[0 5],[0;1]); >> plot(t,y(:,1)) >>

2 >> roots([1 10 54 132 137 50]) ans = -3.0000 + 4.0000i -3.0000 - 4.0000i -2.0000 + 0.0000i -1.0000 + 0.0000i -1.0000 + 0.0000i 所以通解:A1*exp(-3*t)*cos(4*t)+A2*exp(-3*t)*sin(4*t)+A3*exp(-2*t)+A4*exp(-t)+A5*t*exp(-t) 3 >> dfun=inline('[-1000.25*y(1)+999.75*y(2)+0.5;999.75*y(1)-1000.25*y(2)+0.5]','x','y'); >> [x,y]=ode45(dfun,[0,50],[1;-1]);length(x) ans = 120565 >> [x,y]=ode15s(dfun,[0,50],[1;-1]);length(x)

ans = 101 >> 第七章 2 >> syms x y; >> f=x^4-5*x^3+5*x^2+5*x-6; >> factor(f) ans = (x - 1)*(x - 2)*(x - 3)*(x + 1) >> 3 >> clear; >> A=sym('[1,2;2,a]'); >> inv(A) ans = [ a/(a - 4), -2/(a - 4)] [ -2/(a - 4), 1/(a - 4)] >> eig(A) ans = a/2 - (a^2 - 2*a + 17)^(1/2)/2 + 1/2 a/2 + (a^2 - 2*a + 17)^(1/2)/2 + 1/2 >> 4 >> clear; >> syms x; >> limit((3^x+9^x)^(1/x),x,inf) ans =

数字图像处理第一次作业

数字图像处理 实验报告 班级:自动化01 姓名:李丹 学号:10054003 提交日期:2013.3.13 摘要:本次作业通过对图像的灰度级数以及其像素的点运算,算术运算、几何变换等,学习了MATLAB在数字图像处理中的运用,更深的理解了数字图像处理的原理和方法。

第一题:Bmp图像格式简介 答:Bmp是bitmap的缩写,即为位图图片。位图图片是用一种称作“像素”的单位存贮图像信息的。这些“像素”其实就是一些整齐排列的彩色(或黑白)点,如果这些点被慢慢放大,就会看到一个个的“像素”中添充着自己的颜色,这些“像素”整齐地排列起来,就成为了一幅BMP图片,并以.bmp等为扩展名。由于BMP文件格式是Windows 环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。BMP可以分成两类:设备相关位图(DDB)和设备无关位图(DIB)。典型的BMP图像文件由四部分组成:位图头文件数据结构(包含BMP图像文件的类型、显示内容等信息),位图信息数据结构(包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息),调色板(可选的)以及位图数据(根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值)。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。 第二题:把lena.bmp 512*512图像灰度级逐级递减8-1显示 答: 1)问题分析:本题中对图像进行的操作是直接灰度变换。

matlab第六章部分习题解答

MATLAB实验报告 第6章习题 实验日期:2014.12.3 1.>> clear >> syms k x y a b; >> r1=symsum(x^(2*k)/sym('k!'),k,0,inf) 结果: r1 = exp(x^2) 2.>> clear >> syms x a; >> r11=a*x/sin(x); >> r12=[2*sin(x)/x,x/tan(x),x,x^2]; >> r13=(2+2/x)^x; >> r14=a*(1+1/x)^x; >> r21=limit(r11,x,0) >> r22=limit(r12,x,0) >> r23=limit(r13,x,inf)

>> r24=limit(r14,x,inf) 结果: r21 = a r22 = [ 2, 1, 0, 0] r23 = Inf r24 = exp(1)*a 3.(1)>> clear >> syms x; >> y1=taylor(cos(x),pi/2,6) >> y11=subs(y1,x,pi/2) 结果: y1 = -x+1/2*pi+1/6*(x-1/2*pi)^3-1/120*(x-1/2*pi)^5

(2)>> z1=taylor(sin(x),pi/2,4) >> z11=subs(z1,x,pi/2) 结果: z1 = 1-1/2*(x-1/2*pi)^2 z11 = 1 (3)>> p1=taylor(2/(x-2),1.5,4) >> p11=subs(p1,x,1.5) 结果: p1 = 8-8*x-16*(x-3/2)^2-32*(x-3/2)^3 p11 = -4 (4)>> q1=taylor(x/sin(x),pi/2,4) >> q11=subs(q1,x,pi/2) 结果:

第一次matlab作业-

实验二 实验内容1. format (Control display format for output ) >> a=pi a = 3.14159265358979 >> format short >> a a = 3.1416 实验内容2 %example1.m t=0:pi/100:4*pi; a=3; y2=exp(-t/a); y1=y2.*sin(a*t); plot(t,y1,'-r',t,y2,':b',t,-y2,':b'); 024******** -1-0.8 -0.6 -0.4 -0.2 0.2 0.4 0.6 0.8 1 令a=9得波形,如图所示:

024******** -1-0.8 -0.6 -0.4 -0.2 0.2 0.4 0.6 0.8 1 实验内容4. exp 函数的帮助如下: EXP Exponential. EXP(X) is the exponential of the elements of X, e to the X. For complex Z=X+i*Y , EXP(Z) = EXP(X)*(COS(Y)+i*SIN(Y)). See also expm1, log, log10, expm, expint. Overloaded functions or methods (ones with the same name in other directories) help fints/exp.m help xregcovariance/exp.m help sym/exp.m Reference page in Help browser doc exp 实验三 实验内容1 >> a=1:10 a = 1 2 3 4 5 6 7 8 9 10 >> b=5:-2:-5 b = 5 3 1 -1 -3 -5

第一次作业——Matlab编程实现DFT实验

题目:用Matlab 实现以下3个信号的DFT 分析,具体要求:画出对应信号的时域波形及其振幅、相位谱。(画出物理坐标) Hz f t f A t f A t 50).2sin()3(); 2sin()2(); ()1(0202010=其中ππδ 解答: 代码如下: (1) N=64; %生成delata 函数,并对其做64点的采样 y1=zeros(1,N); y1(1)=1; i=0:N-1; subplot(3,3,1); stem(i,y1); xlabel('n'); title('delta 函数做64点采样'); Y1=fft(y1,N);%delta 函数做64点采样图 mag=abs(Y1); subplot(3,3,2); stem(i,mag);%delta 函数做64点FFT xlabel('K'); title('delta 函数的64点DFT'); ang=angle(Y1)*180/pi;%求DFT 的相位,并把弧度转化为角度 subplot(3,3,3); plot(i,ang); xlabel('K'); ylabel('角度'); title('delta 函数的64点DFT 相位图'); (2) %令A1=1; A1=1; t=0:1/N:1-1/N; f0=50; y2=A1*sin(2*pi*f0*t); %做64点采样 i=0:N-1; subplot(3,3,4); stem(i,y2); xlabel('n'); title('A1*sin(2*pi*f0*t)函数做64点采样 f0=50'); Y2=fft(y2,N);

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 ++++=??-+--+=??+++=??≥? 解:

北科大matlab第6次实验报告

《数学实验》报告 实验名称数学实验 学院自动化 专业班级 2015年4月

一、 【实验目的】 使用MATLAB 求解常微分方程,包括常微分方程的符号解法以及数值解法 二、 【实验任务】 1、求解微分方程y cos xsinx y = '。 2、用数值方法求解下列微分方程,用不同颜色和线形将y 和y '画在同一个图形 窗口里: 2t -1y -y t y ='+'' 初始时间:0t 0=;终止时间:π=f t ;初始条件:1.0|y 0t == 2.0|y 0t ='=。 三、 【实验程序】 1、 y = dsolve('Dy = x * sin(x) / cos(y)', 'x') 2、 函数exf.m : function xdot = exf(t,x) xdot = [0 1;1 -t]*x + [0;1]*(1 - 2*t); 主程序: t0 = 0; tf = pi; x0t = [0.1;0.2]; [t, x] = ode23('exf', [t0, tf], x0t); y = x(:,1); y2 = x(:,2); plot(t, y, 'r-', t, y2, 'b--') legend('数值积分解y', '数值积分解y ’') 四、 【实验结果】 1、 y = asin(C3 + sin(x) - x*cos(x))

2、 五、【实验总结】 1、对于高阶常微分方程,需要先将它转化为一阶常微分方程组,即状态方程,所以求解常微分方程时,需要先用学过的知识对方程进行降阶处理; 2、运用数值解法求解微分方程时需要建立模型的函数文件,然后运用MATLAB中函数调用的知识在主程序中调用子程序,最终解出微分方程的解; 3、微分方程有数值积分解也有解析解,两者有各自优缺点,不同的求解方法适用于不同的场合,具体方程可以将两者互相对比,画出对比的图形; 4、 →解微分方程→用图形显示。

MATLAB 第一次实验课课堂作业

MATLAB 第一次实验课课堂作业(4学时) 学号100401202 姓名陈丹 注:1)此课堂作业作为本课程结业成绩的重要依据,请同学们认真、独立完成,不得抄袭。 2)请在授课教师规定的时间内完成; 3)完成作业后,请以word格式保存,文件名为:学号+姓名 1. 请列出d:\ 文件夹下所有的文件或子文件夹信息。 dir d:\ $RECYCLE.BIN.exe RECYCLER recycled.exe $Recycle.BIN RECYCLER.exe sysanti.exe 360Rec System V olume Information syslive.exe 36dc61c8857c08269dda9343f78d03 autorun.inf zemax2003 Desktop.ini b9952393a57d6ee Folder.htt recycled 2. 请写出文件fft..m的路径。 C:\MA TLAB7\toolbox\matlab\datafun\fft.m 3. 请使用帮助命令查询fft.m 的使用方法。 完成如下问题: 1)简要说明fft的中文使用方 FFT(X):对于变量x的离散傅里叶变换的一种快速算法。Fft(x)的计算长度为向量x的长度;fft(x,n)完成指定长度为n的DFT变换。其中x序列被自动补零或截短到长度n。 FFT(X)是X的快速傅立叶变换,FFT(X,N)是X的n点快速傅立叶变换, FFT(X,[],DIM)是X的多维快速傅立叶变换,FFT(X,N,DIM)是X的n维度的快速傅立叶变换。 2)计算x=[1 0 2 3]的离散傅里叶变换的值X。 X(0)= 6.0000 X(1)= -1.0000 + 3.0000i X(2)= X(3)=-1.0000 - 3.0000i 3)把X保存为数据文件X..mat save X

相关文档