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

合集下载

MATLAB作业1 参考答案

MATLAB作业1 参考答案

MATLAB 作业1参考答案1 、在你的机器上安装MATLAB 语言环境,并键入demo 命令,由给出的菜单系统和对话框原型演示程序,领略MATLAB 语言在求解数学问题方面的能力与方法。

【求解】略.2、启动MATLAB 环境,并给出语句tic, A=rand(500); B=inv(A); norm(A*B-eye(500)),toc ,试运行该语句,观察得出的结果,并利用help 命令对你不熟悉的语句进行帮助信息查询,逐条给出上述程序段与结果的解释。

【求解】在MATLAB 环境中感触如下语句,则可以看出,求解500500⨯随机矩阵的逆,并求出得出的逆矩阵与原矩阵的乘积,得出和单位矩阵的差,得出范数。

一般来说,这样得出的逆矩阵精度可以达到1210-。

>> tic, A=rand(500); B=inv(A); norm(A*B-eye(500)), tocans =1.2333e-012Elapsed time is 1. seconds.3、试用符号元素工具箱支持的方式表达多项式5432()34236f x x x x x x =+++++,并令11s x s -=+,将f(x) 替换成s 的函数。

【求解】可以先定义出f 函数,则由subs() 函数将x 替换成s 的函数>> syms s x;f=x^5+3*x^4+4*x^3+2*x^2+3*x+6;F=subs(f,x,(s-1)/(s+1)) F =(s-1)^5/(s+1)^5+3*(s-1)^4/(s+1)^4+4*(s-1)^3/(s+1)^3+2*(s-1)^2/(s+1)^2+3*(s-1)/(s+1)+6syms x sx=(s-1)./(s+1);y=x.^5+3*x.^4+4*x.^3+2*x.^2+3*x+6;ysimple(y)y=19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^54、用MATLAB 语句输入矩阵A 和B123414233241432141322314,234123324114324132234114j j j j j j j j A B j j j j j j j j ++++⎡⎤⎡⎤⎢⎥⎢⎥++++⎢⎥⎢⎥==⎢⎥⎢⎥++++⎢⎥⎢⎥++++⎣⎦⎣⎦前面给出的是4 ×4 矩阵,如果给出A(5; 6) = 5 命令将得出什么结果?【求解】用课程介绍的方法可以直接输入这两个矩阵>> A=[1 2 3 4; 4 3 2 1; 2 3 4 1; 3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1若给出A(5,6)=5 命令,虽然这时的行和列数均大于B 矩阵当前的维数,但仍然可以执行该语句,得出>> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5复数矩阵也可以用直观的语句输入>> B=[1+4i 2+3i 3+2i 4+1i; 4+1i 3+2i 2+3i 1+4i;2+3i 3+2i 4+1i 1+4i; 3+2i 2+3i 4+1i 1+4i];B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i5、假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。

matlab考试题库及答案大学

matlab考试题库及答案大学

matlab考试题库及答案大学# MATLAB考试题库及答案大学一、选择题1. MATLAB中用于生成0到1之间均匀分布随机数的函数是: - A. rand- B. randi- C. randperm- D. randn答案:A2. 下列哪个命令可以用于绘制函数图像?- A. plot- B. text- C. title- D. xlabel答案:A3. MATLAB中,以下哪个不是矩阵的属性?- A. size- B. length- C. rank- D. transpose答案:D4. 以下哪个函数可以用于求解线性方程组?- A. solve- B. linsolve- C. linprog- D. fsolve答案:A5. MATLAB中,用于计算矩阵特征值的函数是:- A. eig- B. eign- C. eigen- D. eigenvalue答案:A二、填空题1. MATLAB的基本数据单位是________。

答案:矩阵2. 使用MATLAB进行数值计算时,可以利用________来存储数据。

答案:变量3. MATLAB中的向量可以是________或________。

- 答案:行向量;列向量4. 矩阵的转置可以通过________操作实现。

答案:.'5. MATLAB中,使用________函数可以计算矩阵的行列式。

答案:det三、简答题1. 简述MATLAB中使用循环结构的注意事项。

答案:在MATLAB中使用循环结构时,应注意以下几点:确保循环体内部逻辑正确,避免无限循环;使用for循环时,循环变量的初始化和步长设置要合理;使用while循环时,循环条件要明确,确保循环能够正常退出。

2. 描述MATLAB中如何实现数组的多维索引。

答案:在MATLAB中,多维数组的索引可以通过使用圆括号来实现,每个维度的索引用逗号分隔。

例如,对于一个三维数组A,可以使用A(i,j,k)来访问第i行、第j列、第k层的元素。

大学matlab考试题及答案

大学matlab考试题及答案

大学matlab考试题及答案大学MATLAB考试题及答案一、选择题1. MATLAB的全称是什么?A. Matrix LaboratoryB. Microprocessor Application Tool SetC. Microsoft Advanced Tool SetD. Microprocessor Application Test System答案:A2. 在MATLAB中,以下哪个命令用于绘制三维图形?A. plotB. scatterC. surfD. bar答案:C3. MATLAB中用于求解线性方程组的函数是?A. solveB. linsolveC. linprogD. fsolve答案:A二、简答题1. 简述MATLAB的基本数据类型有哪些,并给出至少两个每种类型的示例。

答案:MATLAB的基本数据类型包括数值数组、字符数组和单元数组。

数值数组可以是向量、矩阵或多维数组。

例如,向量 `v = [1 2 3]`,矩阵 `M = [1 2; 3 4]`。

字符数组是由单引号或双引号括起来的字符序列,如 `C = 'Hello'`。

单元数组可以包含不同类型的数据,如`{1, 'text', [1; 2; 3]}`。

2. 描述如何在MATLAB中实现矩阵的转置和翻转。

答案:矩阵的转置可以通过 `'T'` 来实现,例如 `A'` 表示矩阵A 的转置。

矩阵的翻转可以通过 `flip` 函数实现,例如 `flip(A)` 可以翻转矩阵A的所有行和列,`flipud(A)` 仅翻转矩阵A的行,而`fliplr(A)` 仅翻转矩阵A的列。

三、编程题1. 编写一个MATLAB函数,该函数接受一个向量作为输入,并返回向量中所有元素的和以及平均值。

```matlabfunction [sumVal, avgVal] = calculateSumAndAverage(V)sumVal = sum(V);avgVal = mean(V);end```2. 设计一个MATLAB脚本来解决以下问题:给定一个3x3的矩阵,找出其中最大的元素,并显示其位置。

MATLAB课后习题集附标准答案

MATLAB课后习题集附标准答案

第2章MATLAB概论1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MA TLAB系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.5、如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成.在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上.9、在MA TLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器.(2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息.(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数.(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数.注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息.第3章 MATLAB 数值运算3.1在MA TLAB 中如何建立矩阵⎥⎦⎤⎢⎣⎡194375,并将其赋予变量a ? 答:在Command Window 窗口输入操作:>> a=[5 7 3;4 9 1]3.2有几种建立矩阵的方法?各有什么优点? 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;(2)通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据.3.3在进行算术运算时,数组运算和矩阵运算各有什么要求?答:进行数组运算的两个数组必须有相同的尺寸.进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数.渗釤呛俨匀谔鱉调硯錦。

Matlab作业习题与答案详解(附程序)

Matlab作业习题与答案详解(附程序)

Matlab作业习题与答案详解(附程序)clear all;clc;close all;x=-10:0.01:20;y=4*sin(x)./x;ymin=min(y)二、蒙特卡罗算法的数值计算当前的油位高度是2.3米,见图1。

模拟油流进储油罐的过程(图维数任选),请计算罐内油量。

三维的效果图参见图2。

储油罐由两部分组成,中间是圆柱体,两端是球罐体。

(本题简化自2011年UCMCM A题《储油罐的变位识别与罐容表标定》,细节参见原题原题附件2 cumcm2010A.doc。

)图1图2主程序:clc;clear all;close all;center1=[-3.375,0,1.5]; %左球罐中心center2=[3.375,0,1.5]; %右球罐中心n=10000; %每次的撒点数delta=0.02; %层高h=3;en=h/delta;Show; %画出油罐for i=0:en-1x=(rand(1,n)-0.5)*10; %随机生成n个点y=(rand(1,n)-0.5)*h;z=(rand(1,n)*delta+i*delta);Z=[x;y;z];[dis1dis2]=juli(center1,center2,Z); %算出各点对应的距离index=find(((x>-4&x<4)&dis2<1.5)|(x<-4|x>4)&dis1<1.625); %找出在罐内的点plot3(x(index),y(index),z(index),'.k'); %画出在罐内的点drawnowend子程序1:function [dis1 dis2]=juli(a,b,q)d11=q(1,:)-a(1);d12=q(2,:)-a(2);d13=q(3,:)-a(3);d1=sqrt(d11.^2+d12.^2+d13.^2);d21=q(1,:)-b(1);d22=q(2,:)-b(2);d23=q(3,:)-b(3);d2=sqrt(d21.^2+d22.^2+d23.^2);d1(d1>d2)=d2(d1>d2);dis1=d1;dis2=sqrt(d12.^2+d13.^2);子程序2:function tu=Show%===圆柱部分==figure('color','w')h=3;y='3/2*cos(s)';z='3/2*sin(s)+1.5';x='t';ezmesh(x,y,z,[0 pi*2 -4 4]);axis equalhidden offhold on%===左罐部分==z='cos(s)*(2.6406-t.^2).^(1/2)+1.5'; y='sin(s)*(2.6406-t.^2).^(1/2)';x='t-3.375';ezmesh(x,y,z,[0 pi*2 -1.625 -0.625]);axis equalhidden offhold on%===右罐部分===z='cos(s)*(2.6406-t.^2).^(1/2)+1.5';y='sin(s)*(2.6406-t.^2).^(1/2)';x='t+3.375';ezmesh(x,y,z,[0 pi*2 0.625 1.625]);colormap(gray)axis equalhold onaxis offhidden off三、元胞自动机的简单应用1.简单交通流模拟请模拟一个4车道的交通流,车辆密度为0.3,其余规则自行定义。

大学matlab考试题及答案

大学matlab考试题及答案

大学matlab考试题及答案一、选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是?A. vectorB. arrayC. linspaceD. [ ]答案:D2. 以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. 在MATLAB中,以下哪个命令用于绘制三维曲面?A. plot3B. surfC. meshD. contour答案:B4. MATLAB中,以下哪个函数用于求解非线性方程?A. fsolveB. fzeroC. linsolveD. solve答案:A5. 如何在MATLAB中创建一个全为1的3x3矩阵?A. ones(3,3)B. zeros(3,3)C. eye(3,3)D. rand(3,3)答案:A二、填空题(每题3分,共15分)1. 在MATLAB中,使用________函数可以计算矩阵的逆。

答案:inv2. 要将向量[1, 2, 3]转置成行向量,可以使用________运算符。

答案:.'3. MATLAB中,________函数用于计算两个矩阵的点乘。

答案:dot4. 若要在MATLAB中生成一个从0到1的100个等间隔的数,可以使用________函数。

答案:linspace5. 使用________函数可以在MATLAB中创建一个随机数矩阵。

答案:rand三、简答题(每题5分,共20分)1. 描述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、转置、加法、减法、乘法、点乘、求逆、行列式计算、特征值和特征向量的计算等。

2. MATLAB中如何实现循环结构?答案:MATLAB中可以使用for循环、while循环和switch-case结构来实现循环结构。

3. 简述MATLAB中函数定义的基本语法。

答案:MATLAB中函数定义的基本语法是:function [输出参数列表] = 函数名(输入参数列表)函数体end4. MATLAB中如何实现条件判断?答案:MATLAB中可以使用if-else语句、switch-case语句来实现条件判断。

matlab课后习题答案(附图)

matlab课后习题答案(附图)

matlab课后习题答案(附图)习题2.1画出下列常见曲线的图形y (1)⽴⽅抛物线3x命令:syms x y;ezplot('x.^(1/3)')(2)⾼斯曲线y=e^(-X^2);命令:clearsyms x y;ezplot('exp(-x*x)')(3)笛卡尔曲线命令:>> clear>> syms x y;>> a=1;>> ezplot(x^3+y^3-3*a*x*y)(4)蔓叶线命令:>> clear>> syms x y;>> a=1ezplot(y^2-(x^3)/(a-x))(5)摆线:()()tsin-=,=-by1命令:>> clear>> t=0:0.1:2*pi;>> x=t-sin(t);>>y=2*(1-cos(t)); >> plot(x,y)7螺旋线命令:>> clear >> t=0:0.1:2*pi; >> x=cos(t); >> y=sin(t); >> z=t;>>plot3(x,y,z)(8)阿基⽶德螺线命令:clear>> theta=0:0.1:2*pi;>> rho1=(theta);>> subplot(1,2,1),polar(theta,rho1)(9) 对数螺线命令:cleartheta=0:0.1:2*pi;rho1=exp(theta);subplot(1,2,1),polar(theta,rho1)(12)⼼形线命令:>> clear >> theta=0:0.1:2*pi; >> rho1=1+cos(theta); >> subplot(1,2,1),polar(theta,rho1)练习2.21. 求出下列极限值(1)nnn n3→命令:>>syms n>>limit((n^3+3^n)^(1/n)) ans = 3(2))121(lim n n n n ++-+∞→命令:>>syms n>>limit((n+2)^(1/2)-2*(n+1)^(1/2)+n^(1/2),n,inf) ans = 0(3)x x x 2cot lim 0→命令:syms x ;>> limit(x*cot(2*x),x,0) ans = 1/2 (4))(coslimcm xx ∞→命令:syms x m ; limit((cos(m/x))^x,x,inf) ans = 1(5))111(lim 1--→exx x命令:syms x>> limit(1/x-1/(exp(x)-1),x,1) ans =(exp(1)-2)/(exp(1)-1) (6))(2lim x x xx -+∞>> limit((x^2+x)^(1/2)-x,x,inf)ans = 1/2练习2.41. 求下列不定积分,并⽤diff 验证:(1)+x dxcos 1>>Clear >> syms x y >> y=1/(1+cos(x)); >> f=int(y,x) f =tan(1/2*x) >> y=tan(1/2*x); >> yx=diff(y ,x); >> y1=simple(yx) y1 =1/2+1/2*tan(1/2*x)^2 (2)+exdx1clear syms x yy=1/(1+exp(x));f=int(y,x) f =-log(1+exp(x))+log(exp(x)) syms x yy=-log(1+exp(x))+log(exp(x)); yx=diff(y,x); y1=simple(yx) y1 = 1/(1+exp(x)) (3)dx x x ?sin 2syms x yy=x*sin(x)^2; >> f=int(y,x) f =x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2 clearsyms x y y=x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2; yx=diff(y,x); >> y1=simple(yx) y1 = x*sin(x)^2 (4)xdx ?sec3syms x y y=sec(x)^3;f=int(y,x) f =1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear syms x yy=1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)); yx=diff(y,x); y1=simple(yx) y1 =1/cos(x)^32. 求下列积分的数值解 1)dx x-10clearsyms xy=int(x^(-x),x,0,1) y =int(x^(-x),x = 0 .. 1) vpa(y,10) ans =1.291285997 2)xdx e x cos3202?πclearsyms xy=int(exp(2*x)*cos(x)^3,x, clear syms xy=int((1/(2*pi)^(1/2))*exp(-x^2/2),x,0,1) y =7186705221432913/36028797018963968*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/0,2*pi) y =22/65*exp(pi)^4-22/65vpa(ans,10)(3)dx xe21221-π>> clear >> syms x>> y=int(1/(2*pi)^(1/2)*exp(-x^2/2),0,1); >> vpa(y,14) ans =.341344746068552(4)>> clear >> syms x>> y=int(x*log(x^4)*asin(1/x^2),1,3); Warning: Explicit integral could not be found. > In sym.int at 58 >> vpa(y,14) ans = 2.45977212823752(5) >> clear >> syms x1判断下列级数的收敛性,若收敛,求出其收敛值。

matlab试题及答案

matlab试题及答案

matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。

答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。

矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。

矩阵的转置使用单引号`'`,例如`A'`。

矩阵的求逆使用`inv`函数,例如`inv(A)`。

2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。

`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。

A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。

答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。

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

m a t l a b综合大作业(附详细答案)标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-《MATLAB语言及应用》期末大作业报告1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;实验程序:A=1+sqrt(4)*randn(5)实验结果:A =2)将矩阵A按列拉长得到矩阵B;实验程序:B=A(:)实验结果:B =3)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)]实验结果:C =4)寻找矩阵A中大于0的元素;]实验程序:G=A(find(A>0))实验结果:G =5)求矩阵A的转置矩阵D;实验程序:D=A'实验结果:D =6)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;实验程序:E=flipud(fliplr(A))实验结果:E =7)删除矩阵A的第2列和第4列得到矩阵F;实验程序:F=A;F(:,[2,4])=[]实验结果:F =8)求矩阵A的特征值和特征向量;实验程序:[Av,Ad]=eig(A)实验结果:特征向量Av =+ -+ -- ++ -特征值Ad =0 0 0 00 + 0 0 00 0 - 0 00 0 0 00 0 0 09)求矩阵A的每一列的和值;实验程序:lieSUM=sum(A)实验结果:lieSUM =10)求矩阵A的每一列的平均值;实验程序:average=mean(A)实验结果:average =2.符号计算(10分,每小题5分):1)求方程组20,0uy vz w y z w++=++=关于,y z的解;实验程序:S = solve('u*y^2 + v*z+w=0', 'y+z+w=0','y,z');y= S. y, z=S. z实验结果:y =[ -1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))-w] [ -1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))-w] z =[ 1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))] [ 1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))]2)利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解; 实验程序:[x,y]=dsolve('Dx=y','Dy=-x')实验结果:x =-C1*cos(t)+C2*sin(t)y = C1*sin(t)+C2*cos(t)3.数据和函数的可视化(20分,每小题5分):1)二维图形绘制:绘制方程2222125x y a a +=-表示的一组椭圆,其中0.5:0.5:4.5a =;实验程序:t=0:*pi:2*pi; for a=::; x=a*cos(t); y=sqrt(25-a^2)*sin(t); plot(x,y) hold on end实验结果:2) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;实验程序:x=0::4; y1=sin(x); y2=10.^x;[ax,h1,h2]=plotyy(x,y1,x,y2); set(h1,'LineStyle','.','color','r'); set(h2,'LineStyle','-','color','g'); legend([h1,h2],{'y=sinx';'y=10^x'});实验结果:3)用曲面图表示函数22z x y =+;实验程序:x=-3::3; y=-3::3;[X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z)实验结果:4)用stem 函数绘制对函数cos 4y t π=的采样序列;实验程序:t=-8::8;y=cos(pi.*t/4); stem(y)实验结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x+=,要求设计出一个FIR 滤波器恢复出原始信号。

(20分) 实验程序:t=0::;x1=sin(2*pi*80*t)+2*sin(2*pi*150*t);x2=randn(size(t)); %添加随机噪声; x=x1+x2;A=[1 ]; %滤波器分母系数; B=[ ]; %滤波器分子系数; y=filter(B, A, x); plot(t, x, ':' , t, y, '-');legend('带有噪声的信号波形','FIR 滤波后信号波形'); t=0::200;x=sin(2*pi*80*t)+2*sin(2*pi*150*t)+randn(size(t)); n=3; f=9;[b,g]=sgolay(n,f); halfwin=((f+1)/2)-1;for n=(f+1)/2:996-(f+1)/2;SG0(n)=dot(g(:,1),x(n-halfwin:n+halfwin)); endsubplot(2,1,1);plot(x(1:length(SG0))); subplot(2,1,2);plot(SG0);实验结果:5. 人体心电图测量信号在测量的过程中经常会受到工业高频干扰,所以必须经过低通滤波处理后,才能判断心脏功能的有用信息。

下面是一组实际心电图信号采样的样本x(n),其中存在高频干扰。

试在实验中,通过MATLAB程序,以x(n)作为输入序列,滤出其中的干扰成分。

x(n) = {-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,8,12,12,10,6,6,4,0,0,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0}。

(20分,每小题4分))1)绘制原数据图形;2)设计巴特沃斯低通滤波器并绘制出其幅频响应曲线;3)用设计的滤波器对原数据进行滤波;绘制滤波后的数据图;4)绘制原数据功率谱图;5)绘制滤波后的数据功率谱图。

解:(1)实验程序:xn=[-4 -2 0 -4 -6 -4 -2 -4 -6 -6 -4 -4 -6 -6 -2 6 12 8 0 -16 -38 -60 -84 -90 -66 -32 -4 -2 8 12 12 10 6 6 4 0 0 0 0 0 -2 -2 0 0 -2 -2 -2 -2 0];N=49;n=0:N-1;stem(n,xn); %绘制原数据图形 title('原数据图形');实验结果:原数据图形(2)实验程序:N_filter=10;fs_filter=5000; %20阶滤波器,采样频率5000Hz wn_filter=1000/(fs_filter/2); % 截止频率1000Hz [b,a]=butter(N_filter,wn_filter); freqz(b,a); %画出频率特性 title('低通滤波器频率特性');实验结果:Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )低通滤波器频率特性(3)实验程序:yn=filter(b,a,xn); %滤波 stem(n,yn);title('滤波后的数据图');实验结果:滤波后的数据图(4)实验程序:Nfft=1024;periodogram(xn,window,nfft,fs_filter); %绘制原数据功率谱图实验结果:Frequency (kHz)P o w e r /f r e q u e n c y (d B /H z )Periodogram Power Spectral Density Estimate(5)实验程序:periodogram(yn,window,nfft,fs_filter);%绘制滤波后数据功率谱图实验结果:Frequency (kHz)P o w e r /f r e q u e n c y (d B /H z )Periodogram Power Spectral Density Estimate6.已知x(n)=[2 1 0 1],计算如下表达式:(10分)1) 计算()x n 的6点DFT 结果()X k ;实验程序:xn=[2 1 0 1];Xk=fft(xn,6)实验结果: Xk= 0 + +2)已知()()36k Y k W X k =,求()()y n IDFT x n =⎡⎤⎣⎦;实验程序:实验结果:3)已知()()Re W k X k =⎡⎤⎣⎦,求()()w n IDFT X k =⎡⎤⎣⎦;实验程序:实验结果:4)已知()()2Q k X k =,求()q n ;实验程序:实验结果:5)已知()z k =()2X k ,求()z n ;实验程序:实验结果:。

相关文档
最新文档