MATLAB上机实验二
- 格式:doc
- 大小:982.00 KB
- 文档页数:16
Matlab 上机实验一、二1.安装Matlab 软件。
2.验证所学内容和教材上的例子。
3.求下列联立方程的解⎪⎩⎪⎪⎨⎧=+-+-=-+=++-=--+41025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10];>> b=[4;4;9;4];>> c=a\bc =5.22264.45701.47181.59944.设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------=81272956313841A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。
>> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8];>> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7];>> C1=A*B'C1 =19 -82 3012 27 3-38 54 29>> C2=A'*BC2 =-15 16 -24 3663 -17 93 -10522 6 117 -6019 46 84 -10>> C3=A.*BC3 =5 16 24 -26-18 -12 -15 72-2 -21 108 -56>> inv(C1)ans =0.0062 0.0400 -0.0106-0.0046 0.0169 0.00300.0168 0.0209 0.0150>> inv(C2)Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 8.997019e-019.ans =1.0e+015 *-0.9553 -0.2391 -0.1997 0.27000.9667 0.2420 0.2021 -0.2732-0.4473 -0.1120 -0.0935 0.1264-1.1259 -0.2818 -0.2353 0.31825.设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。
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声明的变量为全局变量。
实验二、MA TLAB运算基础一、实验目的掌握MA TLAB各种表达式的书写规则及常用函数的使用。
掌握MA TLAB中字符串、元胞数组和结构的常用函数的使用。
二、实验内容及步骤1、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 1718 19 20;21 22 23 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 1311]1)求它们的乘积C2)将矩阵C的右下角3x2子矩阵赋给D>> A=[1:1:5;6:1:10;11:1:15;16:1:20;21:1:25];B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11];...C=A*B,D=C(3:5,2:3)C =93 150 77258 335 237423 520 397588 705 557753 890 717D =520 397705 557890 7172、完成下列操作1)求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,再利用find和length函数。
)>> A=[100:999];B=find(rem(A,61)==0),B_total=length(B)B =23 84 145 206 267 328 389 450 511 572633 694 755 816 877B_total =152)建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。
)>> a=['MA TLAB is important'], b=abs(a); c=find(b<=90 & b>=65) , a(c)=[],a =MA TLAB is importantc = 1 2 3 4 5 6a =is important⑶已知A=[23 10 -78 0;41 -45 65 5;32 5 0 32;6 -5492 14],取出其前3行构成矩阵B,其前两列构成矩阵C,其左下角3x2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E<D、E&D、E|D、~E|~D。
“MATLAB及其在通信中的应用”上机实验二1——矩阵操作进阶及图形绘制1.利用基本矩阵产生5*4的单位阵、全1阵、全0阵、[2 5]之间均匀分布随机矩阵。
,正态分布随机矩阵(均值1,方差为9)。
将所编程序截图,填入到下面空白处。
(10分)答案:2.矩阵运算:已知,求矩阵c,MATLAB命令窗口中编写语句,实现下述功能,将所编程序截图,填入到下面空白处。
(1)对c中所有元素求和赋值给SUM。
(2)先令矩阵d=c,仅保留d中主对角线上方第1条对角线元素,d中其他元素赋值0。
(3+7=10分)1完成后以附件形式发送到邮箱commu_matlab2014@。
邮件主题为“班级”加“下划线”加“姓名”3. 编写.m(1) 求出方程组的解,并保存在向量 B(2) 将B 的转置作为行向量,对该行向量进行复制拼接,生成6*4阶矩阵的H(3) 对H 矩阵进行重排,生成3*8阶矩阵K ,删除矩阵K 的第3列,生成3*7阶矩阵J 。
将所编程序和矩阵B 、H 、J 的结果截图,填入到下面空白处。
(6+6+8=20分)答案:4、假设有函数22a b ea --=+,其中1,1.5,2,2.5...,6a =1*2排布的图形子窗口,按要求完成绘图。
子窗口1绘制图1: x 轴用a 为坐标刻度,y 轴用b 为坐标刻度,曲线颜色为绿色,类型为-*,线宽为1,加入栅格线。
加入标题“图1”。
x 轴标注 “a ” ,y 轴标注“b ” 。
x 轴坐标范围[08],y 轴坐标范围[0 58 ]子窗口2绘制图2: x轴用a 为坐标刻度,y 轴用log 10(b)为坐标刻度,曲线颜色为红色,类型为-+,线宽为1.5,加入栅格线。
加入标题“图2”。
x 轴标注 “a ” ,y 轴标注“log10(b)” 。
x 轴坐标范围[0 8],y 轴坐标范围[0 100 ]将所编程序和输出图形截图,填入到下面空白处。
(5+5=10分)答案:5、打开 一个图形窗口, 222x 0*2*32180180180ππππ=,,,,...,,绘制如下图所示的三条曲线:(1)曲线1:y=sin(x); 正弦曲线颜色 红色,线型为 * , 线宽为1 (2)曲线2:y=cos(x); 余弦曲线颜色 蓝色,线型为 -- ,线宽为2(3)曲线3:y=sin(x)+3; 正弦曲线纵轴搬移,曲线颜色 绿色,线型为钻石,线宽为1.5 将所编程序截图,填入到下面空白处。
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,显示并分析输出结果,说明逆滤波和维纳滤波的区别。
实验二:时域采样与频域采样一、时域采样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 时,大于模拟信号频率的两倍以上,采样信号的频谱不产生混叠。
实验二 MATLAB 程序设计一、 实验目的1.掌握利用if 语句实现选择结构的方法。
2.掌握利用switch 语句实现多分支选择结构的方法。
3.掌握利用for 语句实现循环结构的方法。
4.掌握利用while 语句实现循环结构的方法。
5.掌握MATLAB 函数的编写及调试方法。
二、 实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。
M 文件的编写:启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。
点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、 实验内容1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。
并输入几组典型值加以检验。
(提示:提示输入使用input 函数)2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。
其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:(1)用switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(提示:注意单元矩阵的用法)3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
如:2?13?10?5?16?8?4?2?16?3?10?5?16?8?4?2?1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
请为关键的Matlab 语句填写上相关注释,说明其含义或功能。
matlab2022实验2参考答案报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:MATLAB实验二MATLAB符号计算试验报告说明:1做试验前请先预习,并独立完成试验和试验报告。
2报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。
3在页眉上写清报告名称,学生姓名,学号,专业以及班级。
3报告以Word文档书写。
一目的和要求1熟练掌握MATLAB符号表达式的创建2熟练掌握符号表达式的代数运算3掌握符号表达式的化简和替换4熟练掌握符号微积分5熟练掌握符号方程的求解二试验内容1多项式运算(必做)1.1解方程:f(某)=某^4-10某某^3+34某某^2-50某某+25=0%采用数值方法:>>f=[1-1034-5025];>>root(f)%采用符号计算方法:f1=ym('某^4-10某某^3+34某某^2-50某某+25')olve(f1)1.2求有理分式R=(3某^3+某)(某^3+2)/((某^2+2某-2)(5某^3+2某^2+1))的商多项式和余多项式.a1=[3010];a2=[1002];a=conv(a1,a2);b1=[12-2];b2=[5201];b=conv(b1,b2);[p,r]=deconv(a,b);%注意:ab秩序不可颠倒。
%reidue用于实现多项式的部分分式展开,此处用deconv函数报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:%%此题,有同学程序如下:某1=[3010],某2=[1002],某3=[12-2],某4=[5201]某5=conv(某1,某2)[y6,r]=deconv(某5,某3)R=deconv(y6,某4)%%这种方法较第一种解法缺点:在除法运算中,会产生误差,故此题应先将分母的多项式相乘后,再与分子部分的多项式进行运算。
实验报告题目二 :一:实验题目:It is desired to extract a constant signal x (n)=s(n)+ ν(n)=s+ ν (n),where ν(n) is zero-mean white Caussian noise of variance бv 2.(1) First-order IIR smoother;To this end, the following IIR lowpass filter is used: H(z)=11--az b, where theparameter a is restrict to the range 0<a <1.This can be achieve in two ways. (2) FIR averaging filters: Consider ,for example, the third-order filter ,H(z)=h 0+h 1z -1+h 2z -2+h 3z -3.(提示:当h 0,h 1,h 2,h 3四个系数相等时,其噪声抑制效果最佳). 二:实验目的(1)深入了解滤波器的设计方法与工作原理;(2)让确定信号分别通过有限长脉冲响应(FIR )数字滤波器和无限长脉冲响应(IIR )数字滤波器,通过对输出图像的分析,掌握滤波器各参数对性能的影响;(3)进一步加深对卷积定理和采样定理的理解; (5)巩固数字信号处理的基本知识,能够运用MATLAB 知识解决数字信号中的问题。
三:实验原理确定信号为一个常数与高斯白噪声相加。
通过滤波器,对于技术指标不同的滤波器,对噪声的抑制作用也不同,通过输出图像可得出较理想的滤波器参数值。
IIR 数字滤波器,极点必须位于单位圆内,保证数字滤波器的因果稳定。
极点越靠近单位圆,带通特性越尖锐。
在题中极点为a,对a 进行不同的取值改变滤波器性能。
FIR 数字滤波器,优点是稳定和线性相位特性。
在本题中,当四个系数相等时,其噪声抑制效果最佳。
对于随机信号,其频谱计算较为复杂,故利用时域卷积来计算较为方便。
在时域中y(n)=x(n)*h(n),而对应频域中Y(Z)=X(Z)·H(Z)。
由于待提取的分量为直流分量,而干扰信号的频谱占据整个频带,本题将从零点、极点分布特性出发,利用所谓的零、极点累试方法进行滤波器的设计。
滤波器的特性取决于零、极点的情况。
极点位置主要影响系统的幅度特性峰值位置及尖锐程度,零点位置主要影响系统的幅度特性谷值位置及其凹下去的程度;且通过零、极点的反复调整,并将得到的幅度特性与期望的幅度特性进行比较,最终得到所期望系统的幅度特性。
时域中y(n)=x(n)*h(n),而频域中Y(Z)=X(Z)·H(Z),而对于随机信号而言,其频谱复杂,因此利用时域卷积来计算较为简单。
四:实验步骤(1)生成一个直流信号;(2)生成一个随机高斯噪声信号; (3)将两信号叠加,确定系数; (4)对h 和x 进行卷积。
(5)输出波形。
五:程序框图六:源程序生成直流信号 生成噪声信号 给定a ,求b 的h 和x 卷积 输出y 图figure(1)%生成直流信号%%%%%%%%N=1000;s=6*ones(1,N);subplot(2,2,1);plot(s)xlabel('t')ylabel('直流信号')v=randn(1,N)Si=s+v %%产生加性高斯噪声信号subplot(2,2,2);plot(Si)xlabel('t');ylabel('直流与噪声信号叠加');b=0.1;a=0.9;M=50n=1:M;u(n)=ones(1,M);h(n)=b*(a.^n).*u(n); %拉氏反变换y=conv(Si,h(n));subplot(2,2,3),plot(y);xlabel('t');ylabel('滤得信号');b=0.2;a=0.1;M=50n=1:M;u(n)=ones(1,M);h(n)=b*(a.^n).*u(n); %拉氏反变换y=conv(Si,h(n));subplot(2,2,4),plot(y);xlabel('t');ylabel('二次滤得信号');figure(2)clear all;clcN=50;s=6*ones(1,N);subplot(4,1,1),plot(s);xlabel('t');ylabel('直流信号');v=randn(1,N);Si=s+v;subplot(4,1,2),plot(Si);xlabel('t');ylabel('直流与噪声信号叠加');h=[0.2 0.2 0.2 0.2];y=conv(Si,h);subplot(4,1,3),plot(y);xlabel('t');ylabel('滤得信号:等值时')h=[0.2 0.5 0.7 0.9];z=conv(Si,h);subplot(4,1,4),plot(z);xlabel('t');ylabel('滤得信号:不等值时') 七:程序结果及图表b=0.1,a=0.9(第三幅)时与b=0.2,a=0.1时的图像,b越小a越大则图像越平滑,滤波效果越好。
下图是h=[0.2 0.2 0.2 0.2](第三幅)与h=[0.2 0.5 0.7 0.9]时的滤波图像,可见,当h的各个参数均相等时滤波效果较好八:实验总结由上图可知,已知信号通过IIR数字滤波器时,取a趋近于1,输出图像较平滑,对噪声抑制效果较好。
相对的,a趋近于0时,对噪声的抑制作用较差。
已知信号通过FIR数字滤波器时,相对与四个系数取值不等时的图像,四个系数取值相等时输出图像较平滑,对噪声抑制效果较好。
通过这个实验,我对滤波器的工作原理有了更深一步的了解,同时学习到滤波器抑制噪声效果最佳的条件。
从输出的波形比较可以得出,在第一问中,当b/(1-a)=1时(因为w=0,所以e jw=1),滤波器噪声抑制效果最佳。
在第二问中,当h0=h1=h2=h3四个系数相等时,滤波器噪声抑制效果最佳。
实验报告题目四 :一:实验题目:Using the bilinear transformation and a lowpass analog Butterworth prototype, design a highpass digital filter operating at a rate of 20kHz and having passband extending to 5kHz with maximum passband attenuation of 0.5dB,and stopband ending at 4kHz with a minimum stopband attenuation of 10dB.二:实验目的(1)熟悉MATLAB语言在数字信号处理中的应用;(2)掌握数字滤波器的计算机仿真方法;(3)掌握IIR数字滤波器设计的一般步骤;(4)熟悉用双线性变换法设计IIR数字滤波器的原理和方法;(5)运用MATLAB平台编辑和设计程序,熟悉MATLAB语言及其调试方法;(6)复习数字信号处理课程中的滤波器原理和IIR数字滤波器设计的原理和方法。
三:实验原理数字滤波器的幅度与相位性能指标与模拟滤波器的指标是基本一致的,IIR数字滤波器的设计和模拟滤波器的设计有着很紧密的关系,通常要先设计出适当的模拟滤波器在经过一定的频带变换把它转化为所需的数字IIR滤波器。
模拟滤波器具有无限长的脉冲相应,IIR 数字滤波器也具有无限长脉冲响应,因此二者相似。
IIR滤波器设计的基本思想就是利用复变函数映射把模拟滤波器转换成数字滤波器。
双线形变换法是利用s=2*(1-z-1)/T*(1+z-1)将s域转换到z域,从而得到系统函数H(Z)。
由于巴特沃斯低通滤波器和高通滤波器只有在归一化频率时和去归一化时关系式互为倒数,因此只要在这两处变换系数,就可以利用沃斯低通滤波器来设计高通滤波器。
四:实验步骤(1)首先将数字频率转换成角频率;(2)其次将数字角频率转换成模拟角频率;(3)计算模拟低通滤波器传输函数;(4)将模拟低通滤波器传输函数转换成模拟高通滤波器传输函数;(5)利用双线性变法将模拟高通滤波器转换成数字高通滤波器。
五:程序框图把数字频率转换成模拟角频率把高通指标改成低通指标计算巴特沃斯滤波器的阶数计算分子,分母多项式的系数将低通转高通双线性变换转换成数字滤波器输出波形六:源程序close all;clear all;fp=5000;fs=4000;ap=0.5;as=10;%%%数字高通指标%%%%%%Fs=20000;T=1/Fs;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;%%%模拟高通指标%%%%%%Wp=2*tan(wp/2)/T;Ws=2*tan(ws/2)/T;%%%%%%模拟低通指标W1=1/Wp;W2=1/Ws;[N,wn]=buttord(W1,W2,ap,as,'s'); %返回巴特阶数和截止频率%%设计模拟低通滤波器%%%%%%fprintf('滤波器阶数N=%.0f\n',N)[b,a]=butter(N,1,'s');%将归一化模拟低通通过频率变换转换成截止频率为Wp的模拟滤波器[numa,dena]=lp2hp(b,a,Wp);%%双线性变换,将模拟滤波器转换成数字滤波器[numd,dend]=bilinear(numa,dena,Fs);disp('分子系数b');fprintf('%.4e',numd);fprintf('\n');disp('分母系数a');fprintf('%.4e ',dend);fprintf('\n');%%%输出图像%%%%%%%%%%w=linspace(0,pi,1024);h=freqz(numd,dend,w);subplot(211),plot(w/pi,abs(h));grid;xlabel('归一化频率');ylabel('幅度/|H(w)|');subplot(212),plot(w/pi,20*log10(abs(h)));axis([0 1 -30 2]);grid;xlabel('归一化频率');ylabel('幅度/dB');七:程序结果及图表八:实验总结通过对数字高通滤波器的设计,使我对模拟滤波器和数字滤波器的原理有了更进一步的了解,并且熟悉了设计IIR数字滤波器的一般步骤。