Matlab上机实验二

合集下载

matlab实验二

matlab实验二

北京工业大学Matlab实验报告**: ***学号: ************: **实验二、Matlab 的基本计算(一)实验目的1.掌握建立矩阵的方法。

2.掌握Matlab 各种表达式的书写规则以及常用函数的使用。

3.能用Matlab 进行基本的数组、矩阵运算。

4.掌握矩阵分析的方法以及能用矩阵运算或求逆法解线性方程组。

5.掌握Matlab 中的关系运算与逻辑运算。

(二)实验环境1.计算机2.MATLAB7.0集成环境(三)实验内容及要求1、熟练操作MATLAB7.0运行环境;2、自主编写程序,必要时参考相关资料;3、实验前应写出程序大致框架或完整的程序代码;4、完成实验报告。

(四)实验程序设计1.利用diag 等函数产生下列矩阵。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=032570800a ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=804050702b2.利用reshape 函数将1题中的a 和b 变换成行向量。

3.产生一个均匀分布在(-5,5)之间的随机矩阵(10×2),要求精确到小数点后一位。

4.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=76538773443412A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=731203321B求下列表达式的值:(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵)(2) B A K *21=和B A K *.22=(3) 331^A K =和3.32^A K =(4) B A K /41=和A B K \42=(5) ],[51B A K =和]2:);],3,1([[52^B A K = 5.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.03216/15/14/15/14/13/14/13/12/1x x x(1)求方程的解(矩阵除法和求逆法)(2)将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变化。

矩阵和数组的操作 实验报告

矩阵和数组的操作 实验报告

实验报告课程名称:MATLAB上机实验实验项目:矩阵和数组的操作实验地点:专业班级:学号学生姓名:指导教师:年月日实验二矩阵和数组的操作一.实验环境计算机 MATLAB软件二.实验目的1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。

2.学习矩阵和数组的加减运算与乘法。

3.掌握对数组元素的寻访与赋值,会对数组进行一般的操作。

三.实验内容与步骤1.用三种方法创建一个3×3矩阵,然后利用矩阵编辑器,将其扩充为4×5矩阵,并保存,试着调用它。

2.建立一个等差数列,然后由它产生一个对角阵。

3.利用MATLAB的函数inv(A)求方阵的逆矩阵。

解:1.(1)>> A=[3,2,1;4,5,6;7,8,9]A =3 2 14 5 67 8 9(2)A=rand(3,3)A =0.9501 0.4860 0.45650.2311 0.8913 0.01850.6068 0.7621 0.82142.> a=linspace(0.1,5,5)a =0 0.3750 0.7500 1.1250 1.5000>> B=diag(a)B =0 0 0 0 00 0.3750 0 0 00 0 0.7500 0 00 0 0 1.1250 00 0 0 0 1.50003.>> A=[1,2;5,6]A =1 25 6>> B=inv(A)B =-1.5000 0.50001.2500 -0.2500四.练习题1.创建一个5×5矩阵,提取主对角线以上的部分。

>> A=rand(5,5)A =0.4447 0.1763 0.8936 0.1389 0.19880.6154 0.4057 0.0579 0.2028 0.01530.7919 0.9355 0.3529 0.1987 0.74680.9218 0.9169 0.8132 0.6038 0.44510.7382 0.4103 0.0099 0.2722 0.9318>> B=triu(A)B =0.4447 0.1763 0.8936 0.1389 0.19880 0.4057 0.0579 0.2028 0.01530 0 0.3529 0.1987 0.74680 0 0 0.6038 0.44510 0 0 0 0.93182.A=rand(3),B=magic(3),C=rand(3,4),计算A×B×C>> A=rand(3),B=magic(3),C=rand(3,4)A =0.4660 0.5252 0.83810.4186 0.2026 0.01960.8462 0.6721 0.6813B =8 1 63 5 74 9 2C =0.3795 0.7095 0.1897 0.30280.8318 0.4289 0.1934 0.54170.5028 0.3046 0.6822 0.1509>> D=A*B*CD =16.2278 13.1844 9.2577 9.61074.8656 4.7624 3.7848 2.692118.5715 15.9959 11.7862 10.76673.创建一个3×3矩阵,并求其转置,逆矩阵。

实验二matlab矩阵分析与处理

实验二matlab矩阵分析与处理

《MATLAB及应用A》第二次上机作业一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。

求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:MATLAB运行结果:二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB中复制)。

MATLAB源程序:x=linspace(0,6);y1=sin(2*x);y2=sin(x.^2);y3=(sin(x)).^2;各条命令语句的功能如下:y1、y2、y3的值分别为:三、教材第55页习题三,第3题。

MATLAB源程序:MATLAB运行结果:四、选择题(1) i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后,a, b, c的值分别是多少?()(A) a=4, b=4, c=2.0000i(B) a=4, b=2.0000i, c=2.0000i(C) a=2.0000i, b=4, c=2.0000i(D) a=2.0000i, b=2.0000i, c=2.0000i(2) 求解方程x4-4x3+12x-9 = 0 的所有解,其结果为()(A) 1.0000, 3.0000, 1.7321, -1.7321(B) 1.0000, 3.0000, 1.7321i, -1.7321i(C) 1.0000i, 3.0000i, 1.7321, -1.7321(D) -3.000-0i, 3.0000i, 1.7321, -1.7321五、求[100,1000]之间的全部素数(选做)。

MATLAB源程序: MATLAB运行结果:一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。

求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:>> a=(0:-1:-9) %产生一个行向量aa =0 -1 -2 -3 -4 -5 -6 -7 -8 -9>> b=pow2(a) %对行向量a中的每一个元素分别求幂函数b =1.0000 0.5000 0.2500 0.1250 0.0625 0.0313 0.0156 0.007 8 0.0039 0.0020>> h=100*b %对行向量b中的每一个元素分别乘以100h =100.0000 50.0000 25.0000 12.5000 6.2500 3.1250 1.5625 0. 7813 0.3906 0.1953>> s1=sum(h) %对行向量h中的元素求和s1 =199.8047>> s=s1*2-100 %求出第10次落下时经过的高度s =299.6094>> h10=h(10)/2 %求出第10次反弹的高度h10 =0.0977二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB 中复制)。

MATLAB上机实验实验报告

MATLAB上机实验实验报告

MATLAB上机实验一一、实验目的初步熟悉MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息。

命令窗口二、实验内容(1) 熟悉MATLAB 平台的工作环境。

(2) 熟悉MATLAB 的5 个工作窗口。

(3) MATLAB 的优先搜索顺序。

三、实验步骤1. 熟悉MATLAB 的5 个基本窗口①Command Window (命令窗口)②Workspace (工作空间窗口)—③Command History (命令历史记录窗口)④Current Directory (当前目录窗口)⑤Help Window (帮助窗口)(1) 命令窗口(Command Window)。

在命令窗口中依次输入以下命令:>>x=1>> y=[1 2 34 5 67 8 9];>> z1=[1:10],z2=[1:2:5];>> w=linspace(1,10,10);>> t1=ones(3),t2=ones(1,3),t3=ones(3,1)>> t4=ones(3),t4=eye(4)x =1z1 =1 2 3 4 5 6 7 8 9 10 t1 =1 1 11 1 11 1t2 =1 1 1t3 =111t4 =1 1 11 1 11 1 1t4 =1 0 0 00 1 0 00 0 1 00 0 0 1思考题:①变量如何声明,变量名须遵守什么规则、是否区分大小写。

答:(1)变量声明1.局部变量每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。

当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。

脚本(没有输入输出参数,由一系列MATLAB命令组成的M文件)没有单独的工作空间,只能共享调用者的工作空间。

当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。

2.全局变量在函数或基本工作空间内,用global声明的变量为全局变量。

MATLAB上机实验二

MATLAB上机实验二
本科实验报告
课程名称:MATLAB及在电子信息课程中的应用
实验项目:矩阵和数组的操作
实验地点:多学科楼教学机房
专业班级:测控1001
学号:2010001332
学生姓名:赵磊
指导教师:李鸿燕
2012年5月7日
一、实验目的和要求
1、掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。
2、学习矩阵和数组的加减运算与乘法。
A=randn(4,4)
A =
-0.4326 -1.1465 0.3273 -0.5883
-1.6656 1.1909 0.1746 2.1832
0.1253 1.1892 -0.1867 -0.1364
0.2877 -0.0376 0.7258 0.1139
步骤2:在命令区输入b=[1;2;3;4]得列向量b。
B =
-1.5000 0.5000
1.2500 -0.2500
三、主要仪器设备
计算机MATLAB软件
四、操作方法与实验步骤及实验结果
1、创建一个5×5矩阵,提取主对角线以上的部分。
步骤1:在命令区输入A=rand(5,5)产生一个5×5矩阵。
A=rand(5,5)
A =
0.9649 0.8003 0.9595 0.6787 0.1712
步骤1:在命令区输入A=100:1:999;
步骤2:在命令区输入p=(rem(A,3)==0);
步骤3:在命令区输入b=find(p)
步骤4:在命令区输入c=length(b)即可得100——999之间能被21整除的数的个数c=43。
7、设有矩阵A和B
A =
1 2 3 4 5
6 7 8 9 10

MATLAB上机实验报告

MATLAB上机实验报告

Matlab上机实验报告实验二读入MATLAB下自带图像pout.tif1)利用亮度变换函数,调整图像亮度。

a)调整范围设定[0 1],[1 0],观测显示效果;b)调整范围设定[0.5 0.75],[1 0],观测显示效果。

解:a, I=imread('pout.tif');colormap;imshow(I);j=imadjust(I,[0 1],[1 0],1.5);figure;subimage(j);b, >> I=imread('pout.tif');colormap;imshow(I);j=imadjust(I,[0.5 0.75],[1 0],1.5);figure;subimage(j);2)利用对比度拉伸函数,压缩高值灰度(c值自行设定)。

解:I=imread('pout.tif');colormap;subplot(1,2,1);imshow(I);xlabel('a)原始图像');J=double(I);J=100*log(J+1);I=uint8(J);subplot(1,2,2);subimage(J);xlabel('b)非线性变换');3)利用直方图函数,生成并绘制图像直方图。

解:I=imread('pout.tif');subplot(1,2,1);imshow(I);title('原始图像');subplot(1,2,2);imhist(I);4)利用直方图修正函数,生成均衡化后的图像直方图(n值自定设定)。

解:I=imread('pout.tif');figure(1);subplot(1,2,1);imshow(I);xlabel('a)原始图像');J=histeq(I);figure(1);subplot(1,2,2);imshow(J);xlabel('b)直方图均衡');figure(2);imhist(I,100);figure(3);imhist(J,100);实验三1.运行例3、4,显示并分析输出结果,说明逆滤波和维纳滤波的区别。

matlab第二次试验上机操作内容

matlab第二次试验上机操作内容
第二次试验上机操作内容
实验名称:数组、矩阵和基本数据类型
一、实验目的:
1、熟悉数组和矩阵的基本运算;
2、熟悉数值数组、字符数组的创建;
3、熟悉数值数组、字符数组的赋值和寻访。
二、实验内容:
1、对数组和矩阵做各种基本运算
2、创建数值和字符数组;
3、对字符数组进行赋值和寻访,同时实现数值和字符之间的转换。
2)生成2*5的随机矩阵,利用逻辑索引找出其中〉0.4的element
3)对R=[-0.5,-0.3+0.4*i,-0.3-0.4*i];分别求实部,虚部,幅度和相位并记录结果
4)对x=[6.3,-6.3,6.8,-6.8]分别进行取整(ceil,floor,fix,round)运算,并记录结果
5)对 , 分别进行数组乘,除和矩阵乘除,并记录结果
三、实验平台:MATLAB集成系统
四、设计流程:
启动软件,输入指令,观察结果
五、程序清单:
此处写程序内容
六、调试和测试结果:
此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法
七、教师评语与成绩评定
此处由老师填写
实验的详细内容如下:
1)继续第一次没有完成的内容
(输入command前首先在commadwindow输入diary exp_2以保存实验结果供写实验报告用)
6)利用A=magic(4)生成4阶magic数组,对其做提取对角元素(diag),变形(reshape),左右反转,上下反转,旋转90°和重复(repmat)等操作并记录结果
2 2 3;3 3 3;1 1 1];分别作各种关系运算(包括大于,小于,等于,大于等于,小于等于和非)
8)对A=[1 0;2 3];B=[1 1;20];进行各种逻辑运算

数字信号处理第三版用MATLAB上机实验

数字信号处理第三版用MATLAB上机实验

实验二:时域采样与频域采样一、时域采样1.用MATLAB编程如下:%1时域采样序列分析fs=1000A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=1000;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,1);stem(n,xn);xlabel('n,fs=1000Hz');ylabel('xn');title('xn');subplot(3,2,2);plot(n,abs(Xk));xlabel('k,fs=1000Hz'); title('|X(k)|');%1时域采样序列分析fs=200A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=200;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs);Xk=fft(xn);subplot(3,2,3);stem(n,xn);xlabel('n,fs=200Hz'); ylabel('xn');title('xn');subplot(3,2,4);plot(n,abs(Xk));xlabel('k,fs=200Hz'); title('|X(k)|');%1时域采样序列分析fs=500A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=500;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,5);stem(n,xn);xlabel('n,fs=500Hz');ylabel('xn');title('xn');subplot(3,2,6);plot(n,abs(Xk));xlabel('k,fs=500Hz'); title('|X(k)|');2.经调试结果如下图:20406080-200200n,fs=1000Hzxnxn2040608005001000k,fs=1000Hz|X (k)|51015-2000200n,fs=200Hzx nxn510150100200k,fs=200Hz |X(k)|10203040-2000200n,fs=500Hzx nxn102030400500k,fs=500Hz|X (k)|实验结果说明:对时域信号采样频率必须大于等于模拟信号频率的两倍以上,才 能使采样信号的频谱不产生混叠.fs=200Hz 时,采样信号的频谱产生了混叠,fs=500Hz 和fs=1000Hz 时,大于模拟信号频率的两倍以上,采样信号的频谱不产生混叠。

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

1. 对Runge 函数2()1/(125)R x x =+在区间[-1,1]作下列插值逼近,并和()R x 的图
像进行比较,并对结果进行分析。

(1) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的20次Newton 插值
多项式的图像。

(2) 用节点21cos()(0,1,2...,20)42
i i x i π+==,绘出它的20次Lagrange 插值多项式的图像。

(3) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的分段线性插值函数
的图像。

(4) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的三次自然样条插值
函数的图像。

结果分析:
等距节点的Newton插值在边界附近呈现不收敛的状态,也就是所谓的Runge 现象。

这是因为被插函数2
()1/(125)
R x x
=+及其任意阶导数并不是一致有界的。

由Lagrange插值的余项
(n1)
1
()
()()()()
(1)!
n n n
f
R x f x L x x
n
ξ
ω
+
+
=-=
+
,由于高阶导数值
非常大,在等距节点的高次插值中,余项的值很大,亦即误差特别大,表现为Runge现象。

在实际中,除非被插函数的光滑性十分好,否则等距节点的高次插值一般不使用。

切比雪夫多项式零点插值没有出现Runge现象,这是因为对于Lagrange插
值的余项
(n1)
1
()
()()()()
(1)!
n n n
f
R x f x L x x
n
ξ
ω
+
+
=-=
+
,切比雪夫多项式零点插值可以

1()
n x
ω
+项控制在
1
2n
以下(
1
[1,1]
max()
n
x
x
ω
+
∈-
=
1
2n
),由此可得切比雪夫多项式零点
插值的误差范围
(n1)
[1,1]
()
max()
2(1)!
n n
x
f
R x
n
ξ
+

∈-

+
,比等距节点的高次插值小很多,因此
对于被插函数的光滑性要求要比等距节点的插值也低很多。

分段低次线性插值是常用的一种插值方式。

线性插值的优点在于计算量小,但是从图中可以看出,其光滑性不够。

三次样条插值要求其一阶导数是连续的,因此其准确性好,光滑性也较优。

2. 对函数
sin ,10()cos ,01/20,1/21x x f x x x x ππ-≤<⎧⎪=≤<⎨⎪≤<⎩
在区间[-1,1]作下列插值逼近,和被插值函数的图像进行比较,并对计算结果进行分析。

(1) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的20次Newton 插值
多项式的图像。

(2) 用节点21cos()(0,1,2...,20)42
i i x i π+==,绘出它的20次Lagrange 插值多项式的图像。

(3) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的分段线性插值函数
的图像。

(4) 用等距节点1,0.1,020i x ih h i =-+=≤≤,绘出它的三次自然样条插值
函数的图像。

由matlab运行结果可以看到,等距节点的Newton插值在边界附近呈现不收敛的状态,切比雪夫多项式零点插值也有一定的振荡。

这是因为被插函数是分段函数,其一阶导数都不是连续的,光滑性非常差,因此相对于函数2
=+,其切比雪夫多项式零点插值的收敛性差很多。

分段低次线()1/(125)
R x x
性插值与三次样条插值相比较,其光滑性不够,但是三次样条插值在断点附近有轻微的振荡,准确性比不上分段线性插值。

相关文档
最新文档