Matlab第六章作业

合集下载

数字图像处理及应用(MATLAB)第6章习题答案

数字图像处理及应用(MATLAB)第6章习题答案

第六章习题与思考题参考答案1. 简述飞机红外图像识别中用到的五个红外特征量各自的作用?1)长宽比:反应了目标的几何形状;2)复杂度:反应了红外目标轮廓的情况;3)紧凑度:反应了红外目标在其所在最小外接矩形中所占比重;4)均值对比度:反映了目标的物理特性与背景的物理特性之间的关系;5)部分最亮像素点数与目标总像素数的比值:反应了目标的明暗变化情况;2. 可视密码共享中,如果实现(4 , 5)门限的可视密码分享,程序将做如何编写?clear allclose allM=imread('0.jpg');ss=rgb2gray(M);figureimshow(ss);[m n]=size(ss);for i=1:m*nif ss(i)>250ss(i)=250;endends=double(ss)+1;x=[1 2 3 4 5];g1=zeros(m,n);g2=zeros(m,n);g3=zeros(m,n);g4=zeros(m,n);g5=zeros(m,n);yy1=zeros(m,n);yy2=zeros(m,n);yy3=zeros(m,n);yy4=zeros(m,n);yy5=zeros(m,n);y1=zeros(m,n);y2=zeros(m,n);y3=zeros(m,n);y4=zeros(m,n);y5=zeros(m,n);for j=1:m*na1=mod(2*j,251);a2=mod(3*j,251);a3=mod(5*j,251);f=[a1 a2 a3 s(j)];g1(j)=polyval(f,x(1));yy1(j)=mod(g1(j),251);g2(j)=polyval(f,x(2));yy2(j)=mod(g2(j),251);g3(j)=polyval(f,x(3));yy3(j)=mod(g3(j),251);g4(j)=polyval(f,x(4));yy4(j)=mod(g4(j),251);g5(j)=polyval(f,x(5));yy5(j)=mod(g5(j),251);endy1=uint8(yy1-1)y2=uint8(yy2-1);y3=uint8(yy3-1);y4=uint8(yy3-1);y5=uint8(yy3-1);figure,imshow(y1);figure,imshow(y2)figure,imshow(y3);figure,imshow(y4);figure,imshow(y5);l1=(x(2)*x(3)*x(4)*x(5))/[(x(1)-x(2))*(x(1)-x(3))*(x(1)-x(4))*(x(1)-x(5))];l2=(x(1)*x(3)*x(4)*x(5))/[(x(2)-x(1))*(x(2)-x(3))*(x(2)-x(4))*(x(2)-x(5))];l3=(x(1)*x(2)*x(4)*x(5))/[(x(3)-x(1))*(x(3)-x(2))*(x(3)-x(4))*(x(3)-x(5))];l4=(x(1)*x(2)*x(3)*x(5))/[(x(4)-x(1))*(x(4)-x(2))*(x(4)-x(3))*(x(4)-x(5))];l5=(x(1)*x(2)*x(3)*x(4))/[(x(5)-x(1))*(x(5)-x(2))*(x(5)-x(3))*(x(5)-x(4))];rr1=zeros(m,n);r=zeros(m,n);for j=1:m*nrr1(j)=mod(yy1(j)*l1+yy2(j)*l2+yy3(j)*l3+yy4(j)*l4+yy5(j)*l5,251);endr=uint8(rr1-1);figure,imshow(r);3. 已知图像⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=805020016821024015010017018013070901262068M 。

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)')②中的二元方程可以由下面的命令用图形的方式显示出来。

matlab作业第6章

matlab作业第6章

习题六6-5利用MATLAB提供randn函数生成符合正态分布的10*5随机矩阵A,然后检验随机数的性质:(1)A各列元素均值和标准方差(2)A的最大元素和最小元素(3)求A每行元素的和以及全部元素之和(4)分别对A的每列元素按升序、每行降序排列>> A=randn(10,5)A =-0.0280 0.9155 -1.1316 -1.9115 0.2618-1.5420 -0.5680 -1.4678 -0.9941 0.5735-0.1584 0.5897 -0.7924 0.6120 -0.20730.0911 0.1929 -1.8572 1.1487 -2.69060.3366 -2.0677 -0.2656 -0.6118 2.15580.9190 0.0689 -0.9234 1.5582 -0.9574-1.1715 -0.1222 0.5879 -0.1220 1.9227-1.2130 0.4540 -0.6985 0.1224 1.01632.0161 0.0920 0.5859 -0.2906 -2.67592.7042 -3.5027 -1.3889 -0.5558 -0.0052(1)mean(A)ans =0.1954 -0.3948 -0.7352 -0.1045 -0.0606>> std(A)ans =1.3828 1.3649 0.8257 1.0248 1.6699(2)>> y=max(A)>> max(y)ans =2.7042>> y=min(A)>> min(y)ans =-3.5027(3)>> sum(A,2)ans =-1.8938-3.99850.0436-3.1151-0.45270.66531.0948-0.3189-0.2725-2.7484>> sum(sum(A,2))ans =-10.9961(4)> sort(A)ans =-1.5420 -3.5027 -1.8572 -1.9115 -2.6906 -1.2130 -2.0677 -1.4678 -0.9941 -2.6759 -1.1715 -0.5680 -1.3889 -0.6118 -0.9574 -0.1584 -0.1222 -1.1316 -0.5558 -0.2073 -0.0280 0.0689 -0.9234 -0.2906 -0.00520.0911 0.0920 -0.7924 -0.1220 0.26180.3366 0.1929 -0.6985 0.1224 0.57350.9190 0.4540 -0.2656 0.6120 1.01632.0161 0.5897 0.5859 1.1487 1.92272.7042 0.9155 0.5879 1.5582 2.1558 -sort(-A,2)ans =0.9155 0.2618 -0.0280 -1.1316 -1.91150.5735 -0.5680 -0.9941 -1.4678 -1.54200.6120 0.5897 -0.1584 -0.2073 -0.79241.1487 0.1929 0.0911 -1.8572 -2.69062.1558 0.3366 -0.2656 -0.6118 -2.06771.5582 0.9190 0.0689 -0.9234 -0.95741.9227 0.5879 -0.1220 -0.1222 -1.17151.0163 0.4540 0.1224 -0.6985 -1.21302.0161 0.5859 0.0920 -0.2906 -2.67592.7042 -0.0052 -0.5558 -1.3889 -3.50276-6将100个学生5门功课的成绩存入矩阵P中,进行如下处理:(1)分别求每门课的最高分、最低分及相应学生序号首先我们把一百个学号分成一百行,五门功课五列,构成一个100*5的矩阵先分别用[y,l]=max(P)求每门课的最高分和他所在的行,其中他所在的行就是他的学号,同理求最低分用[z,k]=min(P)。

MATLAB第六章

MATLAB第六章

MATLAB第六章第六章代数方程与最优化问题的计算机问题一:求解能转换成多项式方程的联立方程,并检验得出的高精度数值解的精度。

x1 2- x2- 1 = 0(x12- 2)2 + (x2–0.5)2+ 1 = 0【分析】:该题为关于x1,x2的两元联立方程,所以可以由MATLAB符号运算的solve()函数求解。

如S=solve(enq1, enq2,... enqn)为最简单的调用方式,[x,...]=solve( enq1, enq2,... enqn)为直接得出根。

[x,...]=solve ( enq1, enq2,... enqn,‘x,...’直接得出函数并指定变量)。

该题最后应求出精度。

要利用norm(double())函数求解。

【解答】:(1)求X1,X2的值,输入语句如下:按ENTER键,显示如下:(2)输入如下语句,求精确度:按ENTER键,显示如下:其中高精度为:6.2242e-039,精度非常高,说明这个解是精确的。

题目二:试用图解法求解下面一元方程,并验证得出的结果。

)25sin()(2/)1(2+=++-x e x f x π【分析】:该题需用一元方程的图解法。

在MATLAB 中,需要用ezplot()函数绘制给定隐函数f(x)=0曲线,该方程的曲线和y = 0 线的交点即为方程的解,可以用图形局部放大的方法读出这些交点的x 值。

【解答】:(1)绘制曲线,输入如下语句:按ENTER 键,显示如下图片:由图可知,该方程的实解是多个的。

要用图解法求出根,要对该点附近局部放大,直到曲线穿越0线,且t轴给出的各个标点的数值完全一致,读得此时t轴标度。

如图所示:该点分别为-2.9135 -2.284 -1.6567 -1.0238 -0.4000 0.22284 1.4851(2)验证根,输入如下程序, 语句输入后,显示如下:可见,得出t 的值处的函数值为-0.433*10-3,故可见的出的根是原方程的根。

Matlab第六章作业答案

Matlab第六章作业答案

第六章
6.2 如何进行一下操作:
(1)翻转模块
(2)给模型窗口加标题
(3)指定仿真时间
(4)设置示波器的显示刻度
解:(1)点击模型窗口的Format ,在下拉菜单中中有两个选项:Flip block 和Rotate block 。

Flip block 可使模块旋转180度(快捷键Ctrl+I ),Rotate block 可以模块顺时针旋转90度(快捷键Ctrl+R )。

(2)在模型窗口的上方双击鼠标左键,会出现的一个文本输入框,编辑输入标题。

(3)单击Simulation ,在下拉菜单中选择configuration parameters ,打开仿真环境参数对话框,在Solver 选项的start time 设置仿真起止时间。

(4)双击示波器Scope 调出显示屏幕,选择Axes properties 选项,改变Y-min 和Y-max 可改变显示刻度。

6.3用Simulink 建立如下控制系统的仿真模型,并对系统进行阶跃响应仿真模型:
22()48
G s s s =++ 解:
6.4在Simulink 环境下,设计一个PID 控制器,实现下面被控制对象的控制,并观察选择不同的PID 参数时对控制效果的影响:
220()212G s s s =++ 其中,系统输入信号分别选择阶跃信号和正弦信号。

解:当输入信号为阶跃信号时:
当输入信号为正弦信号时:。

Matlab 第6章习题A习题具有题解.docx

Matlab 第6章习题A习题具有题解.docx

A 习题(具有题解)A 6-1试判断下述系统的可控性及可观性。

y(k) = [2 —4]x 伙)能否找到一组控制序列,使系统从原点到达[1 1 If,解释为什么。

x(k +1)=0.5 0-0.5 0.25x 伙)+u(k)4C CFT0.5-0.5"[00.25_ 42 -4 1 -2rank= 1,系统不可观。

A 6-2下述连续系统被采样,求离散传递函数,并确定T 为何值时系统不可控,试说明之。

宀、 2(S + 5)G (s ) = ---------------?+105 + 29解:A (5)= 52 4-105 + 25 + 4 = 0 ; 512 =-5± j2;所以込一$2 = /4。

依要求可知,若S\-S2=jk 〒,采样系统不可控。

故有T = k7i/2时系统不可控。

Gd) =2[z~ ~ze 5T cos 2T] z 2-2ze-5T cos2T + e-10r,如当T =冗丨2时心(f 二吕'发生零极对消。

A 6-3给定下述系统「0 1 2「兀1(切'o'x(k + l) = 0 0 3x 2(k) + 10 0 0 x 2(k)(1) (2) 该控制序列最少步数是多少。

解:= [FG G] = <rank=2,系统可控试确定一组控制序列,使系统从%(o )= [i 1 if 达到原点。

_0 1 2_■f'0_'3_'0_解:1) x(l)=0 0 3 1 + 1 w(0) = 3 + 1 M (0)0 0 1如取u(0)=-3,则如取u(l)=-O,则x(2) = [0] o 表明u(0)=3、u ⑴=0,可使系统从x(0) = [l 1『达到原点。

2) 显然最少步数N=2。

_0 1 03) 因为W R =[F-G FG G]= 0 0 10 0 0移矩阵F 可见,X3(k)不受u(k)影响,且与其他状态无关,所以不能通过u(k)改变其状态。

中南大学matlab课后答案-第六章

中南大学matlab课后答案-第六章

实验指导二1,(1)>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];B=[,,]';x=A\B (2)>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];B=[,,]';x=A\B (3)>> cond(A)2,(1)建立函数文件,命令如下;Function fx=funx(x)fx=x^41+x^3+1;$调用fzero函数求根,命令如下;>> z=fzero(@funx,-1)(2) 建立函数文件,命令如下;Function fx=sin(x)fx=x-(sin(x))/x;调用fzero函数求根,命令如下;>> z=fzero(@sin,(3) 建立函数文件,命令如下;function q=myfun(p)x=p(1);、y=p(2);z=p(3);q(1)=sin(x)+y^2+log(z)-7;q(2)=3*x+2^y-z^3+1;q(3)=x+y+z-5;调用fsolve函数求根,命令如下;>> options=optimset('Display','off');x=fsolve(@myfun,[1,1,1]',options) 3,(1) 建立函数文件,命令如下;function yp=funt(t,y)>yp=-y*+sin(10*t));求微分方程,程序如下:>> t0=0;tf=5;y0=1;[t,y]=ode23(@funt,[t0,tf],y0)(2) 建立函数文件,命令如下;function yp=funr(t,y)yp=cos(t)-(y)/(1+t^2);求微分方程,程序如下:>> t0=0;tf=5;y0=1;[t,y]=ode23(@funr,[t0,tf],y0)4,建立函数文件命令如下:{function fx=mymax(x)fx=-1*(1+x^2)/(1+x^4);求最大值,程序如下:>> [x,y]=fminbnd(@mymax,0,2)5,编写目标函数M文件,命令如下:function f=fop(x)f=-1*(x(1)^(1/2)+x(2)^(1/2)+x(3)^(1/2)+x(4)^(1/2));设定约束条件,并调用fmincon函数求解此约束最优化问题,程序如下:>>x0=[200,200,200,200];%A=[1,0,0,0;,1,0,0;,,1,0;,,,1];b=[400,440,484,];Ib=[0,0,0,0];options=optimset('Display','off');[x,y]=fmincon(@fop,x0,A,b,[],[],Ib,[],[],options)思考练习1,(1)矩阵求逆:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';x=inv(A)*b矩阵除法:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';x=A\b!矩阵分解:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';[L,U]=lu(A);x=U\(L\b) (2)矩阵求逆:>>A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]';x=inv(A)*b矩阵除法:>>A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]';x=A\b矩阵分解:>> A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]'; [L,U]=lu(A);x=U\(L\b)2,(1)建立函数文件,命令如下:function fx=fun1(x)fx=3*x+sin(x)-exp(x);调用fzero函数求根,命令如下;>> y=fzero(@fun1,、(2) 建立函数文件,命令如下:function fx=fun2(x)fx=1-(1/x)+5;调用fzero函数求根,命令如下;>> y=fzero(@fun2,1)(3) 建立函数文件,命令如下;function q=fun3(p)x=p(1);y=p(2);q(1)=x^2+y^2-9;'q(2)=x+y-1;调用fsolve函数求根,命令如下;>> options=optimset('Display','off');x=fsolve(@fun3,[1,1]',options) 3,(1)建立函数文件,命令如下:function ydot=fun5(t,y)ydot(1)=(2-3*y(2)-2*t*y(1))/(1+t^2);ydot(2)=y(1);ydot=ydot';求解微分方程,命令如下:'>> t0=0;tf=5;x0=[0,1];[t,y]=ode45(@fun5,[t0,tf],x0);[t,y](2) (1)建立函数文件,命令如下:function ydot=fun6(t,y)ydot(1)=cos(t)+(5*y(1)*cos(2*t))/(t+1)^2-y(2)-y(3)/(3+sin(t)); ydot(2)=y(1);ydot(3)=y(2);ydot=ydot';求解微分方程,命令如下:>> t0=0;tf=5;x0=[0,1];[t,y]=ode45(@fun5,[t0,tf],x0);[t,y]4,】建立函数文件命令如下:function fx=max(x)fx=-1*(sin(x)+cos(x^2));求最大值,程序如下:>> [x,y]=fminbnd(@mymax,0,pi)5,编写目标函数M文件,命令如下:function f=topm(x)f=-1*x*(3-2*x)^2;设定约束条件,并调用fmincon函数求解此约束最优化问题,程序如下:>>x0=[0];A=[1];b=[];Ib=[0];options=optimset('Display','off');[x,y]=fminco n(@top,x0,A,b,[],[],Ib,[],[],options)。

matlab简明教程第六章答案

matlab简明教程第六章答案

m a t l a b简明教程第六章答案本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March第6章习题参考答案1. 假设x = [-3, 0, 0, 2, 5, 8]且y = [-5, -2,0, 3, 4, 10]。

通过手算得到以下运算的结果,并使用MATLAB检验计算的结果。

(1) z = y<~x(2)z = x&y(3) z = x|y(4) z = xor(x,y)参考答案: (1) z = [1, 1, 1, 0, 0, 0];(2) z = [1, 0, 0, 1, 1, 1];(3) z = [1, 1, 0, 1, 1, 1];(4) z = [0, 1, 0, 0, 0, 0]2. 在MATLAB中使用一个循环确定:如果用户最初在一个银行帐户中存储$10000,并且在每年的年终再存储$10000(银行每年支付6%的利息),那么账户上要积累$1000000要需要多长时间。

参考答案: 33年。

3.某个特定的公司生产和销售高尔夫手推车。

每周周末,公司都将那一周所生产的手推车转移到仓库(库存)之中。

卖出的所有手推车都是从库存中提取。

这个过程的一个简单模型为:I (k + 1) = P(k) + I (k) - S(k)其中:P(k) = 第k周所生产的手推车数量;I (k) = 第k周库存中的手推车数量;S(k) = 第k周所卖出的手推车数量;以下为10周计划中的每周销售额;假设每周的产量都基于前一周的销售额,所以有P(k) = S(k - 1)。

假设第一周的产量为50辆手推车:即,P(1) = 50。

编写一个MATLAB程序计算:10周之内每周库存之中的手推车数量或者计算手推车库存数量减少到0为止的时间,并同时绘制图形。

针对以下两种情况运行该程序:(1)初始库存为50辆手推车,所以I(1)= 50;(2)初始库存为30辆手推车,所以I (1) = 30。

第6章 MATLAB数据分析与多项式计算_习题答案教学提纲

第6章  MATLAB数据分析与多项式计算_习题答案教学提纲

第6章M A T L A B数据分析与多项式计算_习题答案精品资料第6章 MATLAB数据分析与多项式计算习题6一、选择题1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。

BA.1 B.3 C.5 D.72.已知a为3×3矩阵,则运行mean(a)命令是()。

BA.计算a每行的平均值 B.计算a每列的平均值C.a增加一行平均值 D.a增加一列平均值3.在MATLAB命令行窗口输入下列命令:>> x=[1,2,3,4];>> y=polyval(x,1);则y的值为()。

DA.5 B.8 C.24 D.104.设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。

DA.一个是标量,一个是方阵 B.都是标量C.值相等 D.值不相等5.在MATLAB命令行窗口输入下列命令:>> A=[1,0,-2];>> x=roots(A);则x(1)的值为()。

CA.1 B.-2 C.1.4142 D.-1.41426.关于数据插值与曲线拟合,下列说法不正确的是()。

AA.3次样条方法的插值结果肯定比线性插值方法精度高。

B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。

C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到极小。

D.插值和拟合都是通过已知数据集来求取未知点的函数值。

二、填空题1.设A=[1,2,3;10 20 30;4 5 6],则sum(A)= ,median(A)= 。

[15 27 39],[4 5 6[2.向量[2,0,-1]所代表的多项式是。

2x2-1仅供学习与交流,如有侵权请联系网站删除谢谢2精品资料3.为了求ax2+bx+c=0的根,相应的命令是(假定a、b、c已经赋值)。

matlab第二篇第六章考试题及答案

matlab第二篇第六章考试题及答案

matlab第二篇第六章考试题及答案1. 问题:请解释MATLAB中矩阵的转置操作是如何进行的,并给出一个具体的例子。

答案:在MATLAB中,矩阵的转置操作是通过使用单引号(')来实现的。

例如,如果有一个矩阵A:```A = [1 2 3; 4 5 6; 7 8 9];```那么A的转置可以通过以下方式获得:```A_transposed = A';```这将输出一个新矩阵,其行变为列,列变为行。

2. 问题:如何使用MATLAB计算矩阵的行列式?答案:在MATLAB中,可以使用`det`函数来计算矩阵的行列式。

例如,对于矩阵A:```A = [1 2; 3 4];```计算其行列式的代码为:```det_A = det(A);```这将返回矩阵A的行列式的值。

3. 问题:描述MATLAB中如何求解线性方程组。

答案:在MATLAB中,求解线性方程组可以使用`\`运算符。

假设我们有方程组Ax = b,其中A是系数矩阵,x是未知数向量,b是常数向量。

求解x的代码如下:```x = A\b;```这将返回方程组的解向量x。

4. 问题:请解释MATLAB中如何实现向量的点积。

答案:在MATLAB中,向量的点积可以通过`dot`函数或者`*`运算符来实现。

例如,对于两个向量u和v:```u = [1 2 3];v = [4 5 6];```计算它们的点积可以使用以下任一方法:```dot_product = dot(u, v);```或者```dot_product = u * v;```两种方法都会返回相同的结果,即u和v的点积。

5. 问题:如何在MATLAB中创建一个3x3的单位矩阵?答案:在MATLAB中,创建一个3x3的单位矩阵可以使用`eye`函数。

代码如下:```I = eye(3);```这将创建一个3x3的单位矩阵I,其中对角线上的元素为1,其余元素为0。

MATLAB基础应用案例教程第六章

MATLAB基础应用案例教程第六章
• (6) BackgroundColor 和 EdgeColor 属性 设置文本对象的背景颜色和边框线的颜色,可取值 none ( 默认 值) 或颜色字母。
• (7) HorizontalAlignment 属性设置文本与指 定点的相对位置,可取值 left ( 默认值)、center 或 ri ght。
mal ( 默认值)、 bold、 light 或 demi。 • (4) FontAngle 属性设置斜体文字模式,取值可以是 no
rmal ( 默认值)、 italic 或 oblique。
上一页 下一页 返回
6.1 二维绘图功能
• (5) Rotation 属性设置字体旋转角,取值是数值量,默认 值为 0,取正值表示逆时针旋转,取负值表示顺时针旋转。
是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。 • (3) 省略 c 时,c = z,即颜色的设定正比于图形的高度。 • (4) 当x、 y 是向量时,x 的长度必须等于 z 矩阵的列,y 的长
度必须等于必须等于 z 的行,x、 y 向量元素的组合构成网格点的 坐标 (x。y),z 坐标则取自矩阵z,然后绘制三维曲线。
上一页 下一页 返回
6.1 二维绘图功能
• 2 函数图函数 • 语法格式:
• 说明: • (1) fun 必须是 m 文件的函数名或是独立变量为 x 的字符串。 • (2) fplot 函数不能画参数方程和隐函数图形,但在一个图上
可以画多个图形。
上一页 下一页 返回
6.1 二维绘图功能
• 【例 6 - 11】 建立函数文件 myfun1 m, 在 [ - 1。2] 区间上绘制 y = e2x + sin(3x2 ) 曲线。
有的允许属性。 • 2 获取图形对象属性

《MATLAB程序设计教程(第二版)》第6章__MATLAB解方程与最优化问题求解

《MATLAB程序设计教程(第二版)》第6章__MATLAB解方程与最优化问题求解

例6-7 分别用Jacobi迭代和Gauss-Serdel迭代法求解 下列线性方程组,看是否收敛。 命令如下: a=[1,2,-2;1,1,1;2,2,1]; b=[9;7;6]; [x,n]=jacobi(a,b,[0;0;0]) [x,n]=gauseidel(a,b,[0;0;0])
6.2 非线性方程数值求解 6.2.1 单变量非线性方程求解 在MATLAB中提供了一个fzero函数,可以用来求单变量非 线性方程的根。该函数的调用格式为: z=fzero('fname',x0,tol,trace) 其中fname是待求根的函数文件名,x0为搜索的起点。一个 函数可能有多个根,但fzero函数只给出离x0最近的那个根。 tol控制结果的相对精度,缺省时取tol=eps,trace指定迭代 信息是否在运算中显示,为1时显示,为0时不显示,缺省 时取trace=0。
例6-9 求下列非线性方程组在(0.5,0.5) 附近的数值解。 (1) 建立函数文件myfun.m。 function q=myfun(p) x=p(1); y=p(2); q(1)=x-0.6*sin(x)-0.3*cos(y); q(2)=y-0.6*cos(x)+0.3*sin(y); (2) 在给定的初值x0=0.5,y0=0.5下,调用fsolve函数求方程的 根。 x=fsolve('myfun',[0.5,0.5]',optimset('Display','off')) x= 0.6354 0.3734
例6-10 设有初值问题,试求其数值解,并与精确解 相比较。 (1) 建立函数文件funt.m。
function yp=funt(t,y) yp=(y^2-t-2)/4/(t+1); (2) 求解微分方程。 t0=0;tf=10; y0=2; [t,y]=ode23('funt',[t0,tf],y0); %求数值解 y1=sqrt(t+1)+1; t' y' y1' %求精确解

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答案第六章

第六章1. 利用MATLAB提供的randn函数生成符合正态分布的10×5随机矩阵A,进行如下操作:(1) A各列元素的均值和标准方差。

(2) A的最大元素和最小元素。

(3) 求A每行元素的和以及全部元素之和。

(4) 分别对A的每列元素按升序、每行元素按降序排列。

答:clear all; close all; clc;A=randn(10, 5);meanA=mean(A); %(1)A各列元素的均值stdA=std(A); %(1)A各列元素的标准方差maxA=max(max(A)); %(2)A的最大元素minA=min(min(A)); %(2)A的最小元素rowsumA=sum(A, 2); %(3)A每行元素的和sumA=sum(rowsumA); %(3)A全部元素之和sort1=sort(A); %(4)A的每列元素按升序排列sort2=sort(A, 2, 'descend'); %(4)A的每行元素按降序排列2. 按要求对指定函数进行插值和拟合。

(1) 按表6.1用3次样条方法插值计算0~90D范围内整数点的正弦值和0~75D范围内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,并将两种计算结果进行比较。

表6.1 特殊角的正弦和正切值表α度0 15 30 4560 75 90sinα0 0.2588 0.50000.7071 0.8660 0.9659 1.0000 tanα0 0.2679 0.57741.0000 1.7320 3.7320(2) 按表6.2用3次多项式方法插值计算1~100之间整数的平方根。

表6.2 1~100内特殊值的平方根表N 1 4 9 16 25 36 49 64 81 100N的平方根 1 2 3 4 5 6 7 8 9 10答:(1) 程序设计:clear all; close all; clc;alpha1=0:15:90;sin_alpha1=sin(alpha1*pi/180); %精确正弦值plot(alpha1, sin_alpha1, 'k:p'); hold on; %绘精确正弦曲线alpha2=0:90;sin_Y1=interp1(alpha1, sin_alpha1, alpha2, 'spline'); %3次样条正弦插值plot(alpha2, sin_Y1, 'r-*'); hold on; %绘3次样条插值正弦曲线P1=polyfit(alpha1, sin_alpha1, 5); %5次多项式拟合sin_Y2= polyval(P1, alpha2); %5次多项式求值plot(alpha2, sin_Y2, 'b-o'); %绘5次多项式插值正弦曲线legend('精确正弦值', '3次样条正弦插值', '5次多项式正弦插值'); title('正弦值比较'); alpha3=0:15:75;tan_alpha3=tan(alpha3*pi/180); %精确正切值figure, plot(alpha3, tan_alpha3, 'k:p'); hold on; %绘精确正切曲线alpha4=0:75;tan_Y1=interp1(alpha3, tan_alpha3, alpha4, 'spline'); %3次样条正切插值plot(alpha4, tan_Y1,'r-*'); hold on; %绘3次样条正切曲线P2=polyfit(alpha3, tan_alpha3, 5); %5次多项式拟合tan_Y2= polyval(P2, alpha4); %5次多项式求值plot(alpha4, tan_Y2, 'b-o'); %绘5次多项式插值正弦曲线legend('精确正切值', '3次样条正切插值', '5次多项式正切插值'); title('正切值比较');(2)程序设计:clear all; close all; clc;X=[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]; Y=1:10;X1=1:100; Y1=interp1(X, Y, X1,'cubic');plot(X, Y, 'r:o'); hold on; %绘精确平方根曲线plot(X1, Y1, 'k-x'); %绘3次多项式插值平方根曲线legend('精确平方根', '3次多项式插值');3. 已知一组实验数据如表6.3所示。

MATLAB课后答案Prob_chapter6

MATLAB课后答案Prob_chapter6
axis equal, axis off
otherwise
if n==1 | n==2,disp('please input n>=3')
else
t=(0:n)/n*2*pi;
x=sin(t);y=cos(t);
% n The number of sides, while n>=3;
% draw circle, while no parameter;
% not a appropriate "n" ,while n<3 or not natural number.
% edited by zhongguo liu, 12 Dec. 2010
%习题6_2(学生)解
function aa(n)
if nargin==0
t=0:pi/100:2*pi; x=exp(i*t); str='Circle';
else
if(nargin~=0)&(n<=2)
error('输入边数少了')
end
which('smoke') %检查在当前目录下能否看到smoke.m
b_d=b;
b_d(end-4:end)=[]; %在b字符串中去除最后的四个字符,即\work。
str=[b_d,'\toolbox\matlab\elmat\private'];
cd(str) %把smoke.m 所在目录设置为当前目录。
%习题6_3_inline内联函数法
y1=inline('-exp(-x)*abs(sin(cos(x)))'); [x,fval]=fminbnd(y1,-1,1)

第6章 MATLAB数据分析与多项式计算_习题答案

第6章  MATLAB数据分析与多项式计算_习题答案

第6章 MATLAB数据分析与多项式计算习题6一、选择题1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。

BA.1 B.3 C.5 D.72.已知a为3×3矩阵,则运行mean(a)命令是()。

BA.计算a每行的平均值B.计算a每列的平均值C.a增加一行平均值D.a增加一列平均值3.在MATLAB命令行窗口输入下列命令:>> x=[1,2,3,4];…>> y=polyval(x,1);则y的值为()。

DA.5 B.8 C.24 D.104.设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。

DA.一个是标量,一个是方阵B.都是标量C.值相等D.值不相等5.在MATLAB命令行窗口输入下列命令:>> A=[1,0,-2];>> x=roots(A);则x(1)的值为()。

C—A.1 B.-2 C.D.6.关于数据插值与曲线拟合,下列说法不正确的是()。

AA.3次样条方法的插值结果肯定比线性插值方法精度高。

B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。

C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到极小。

D.插值和拟合都是通过已知数据集来求取未知点的函数值。

二、填空题1.设A=[1,2,3;10 20 30;4 5 6],则sum(A)= ,median(A)= 。

[15 27 39],[4 5 6[2.向量[2,0,-1]所代表的多项式是。

2x2-1…3.为了求ax2+bx+c=0的根,相应的命令是(假定a、b、c已经赋值)。

为了将求得的根代回方程进行验证,相应的命令是。

x=roots([a,b,c]),polyval([a,b,c],x)4.如果被插值函数是一个单变量函数,则称为插值,相应的MATLAB函数是。

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

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内调
整仿真时间为0-10s。

运行后,得到输出的波形如下,经分析,符合逻辑表达式和真值表并能观察出X在A的一个周期8s中的最后一秒实现一个负脉冲,Y在每8s的第一秒和最后一秒实现高电平,其余时间为低,而Z1一直为高,Z2只在第一秒出现高脉冲,其余时间为低。

(2)本仿真的优点分析:仿真中采用了Combinational Logic模块进行仿真是通过对各输入的不同状态列真值表来实现的,输入为A、B、C为了在波形结果显示中比较直观地看出ABC的逻辑由000到111的变化时对应的X、Y、Z1、Z2的结果 可将A、B和C的周期分别设为8、4和2,相位延迟分别设为4、2、1这样可以将A、B和C各种可能组合状态的结果都依次显示出来而不会有遗漏。

习题2
采用触发器(D or J-K)构建10分频器,
完成对输入时钟10分频的功能
要求:1、思路
2、逻辑表达式
3、模型图和输出波型
4、分析和总结
实现思路:
由加法器知识知N进制计数器的进位信号CO即相当于对计数脉冲CP的N分频,而在其后加一个T’触发器后所输出的信号C2,即为一个2N分频占空比为0.5的信号。

因而构建一个10分频电路只需要一个10进制的计数器,其CO信号既所求的十分频信号,再其他电路来调节CO信号的占空比,或者构建一个五进制计数器,其CO信号后接一个T’触发器 即形成10分频信号。

本次仿真给出占空比为0.5(JK_10fenpin..mdl)的模型。

1.同步时序电路的设计
(1)首先构建一个五进制的计数器
(2)画卡诺图写出逻辑表达式
Q0*
2
1020010110
12***Q C Q Q Q Q Q Q Q Q ==+==1
020********
02======K Q J Q K Q J Q Q K Q Q
J
由Q K Q J Q +=* 以及据卡诺图化简得到次态和初态的关系
可得
2.十分频电路的实现
然后再在计数器后面添加一个T 触发器,使得每有一个进位会让输出波形翻转一次。

也就是五个周期翻转一次。

最后达到一个周期有十个脉冲。

仿真模型如下
周期脉冲信号参数设置如左所示 JK 触发器的初态设为设为0 并设置仿真时间为40s
3.输出波形和结果分析
从上图可以看见C2信号占空比为0.5,一个周期为10个CP脉冲周期为十分频。

3.输出波形及结果分析。

4.Ss
S。

相关文档
最新文档