MATLAB实验报告(二) 西安邮电大学
MATLAB实验报告
MATLAB实验报告一、实验目的本次 MATLAB 实验旨在深入了解和掌握 MATLAB 软件的基本操作和应用,通过实际编程和数据处理,提高解决问题的能力,培养编程思维和逻辑分析能力。
二、实验环境本次实验使用的是 MATLAB R2020a 版本,运行在 Windows 10 操作系统上。
计算机配置为英特尔酷睿 i5 处理器,8GB 内存。
三、实验内容(一)矩阵运算1、矩阵的创建使用直接输入、函数生成和从外部文件导入等方式创建矩阵。
例如,通过`1 2 3; 4 5 6; 7 8 9` 直接输入创建一个 3 行 3 列的矩阵;使用`ones(3,3)`函数创建一个 3 行 3 列元素全为 1 的矩阵。
2、矩阵的基本运算包括矩阵的加减乘除、求逆、转置等。
例如,对于两个相同维度的矩阵`A` 和`B` ,可以进行加法运算`C = A + B` 。
3、矩阵的特征值和特征向量计算通过`eig` 函数计算矩阵的特征值和特征向量,加深对线性代数知识的理解和应用。
(二)函数编写1、自定义函数使用`function` 关键字定义自己的函数,例如编写一个计算两个数之和的函数`function s = add(a,b) s = a + b; end` 。
2、函数的调用在主程序中调用自定义函数,并传递参数进行计算。
3、函数的参数传递了解值传递和引用传递的区别,以及如何根据实际需求选择合适的参数传递方式。
(三)绘图功能1、二维图形绘制使用`plot` 函数绘制简单的折线图、曲线等,如`x = 0:01:2pi; y = sin(x); plot(x,y)`绘制正弦曲线。
2、图形的修饰通过设置坐标轴范围、标题、标签、线条颜色和样式等属性,使图形更加清晰和美观。
3、三维图形绘制尝试使用`mesh` 、`surf` 等函数绘制三维图形,如绘制一个球面`x,y,z = sphere(50); surf(x,y,z)`。
(四)数据处理与分析1、数据的读取和写入使用`load` 和`save` 函数从外部文件读取数据和将数据保存到文件中。
MATLAB实验报告
MATLAB实验报告实验报告课程名称 MATLAB基础及应用专业班级电子xxxx姓名学号电气与信息学院实验二 MATLAB 数值计算(一)一实验目的:1.掌握数组的创建与运算方法;2. 掌握矩阵的创建与运算方法;3. 掌握数组的运算方法和矩阵运算方法的区别;4.掌握线性方程的求解方法二实验装置:计算机三实验内容:1.数组的创建和运算创建两个含5个元素的一维数组,并求这两个数组的四则运算。
2.矩阵的创建和运算(1)创建两个3×3的矩阵,并求这两个矩阵的四则运算。
(2)创建一个4×4的矩阵,并求这个矩阵的行列式值。
(3)线性方程的求解解方程组=6613753467294x 。
四实验要求:写出实验程序与仿真结果。
1. >> a=linspace(2,10,5) a =2 4 6 8 10>> b=linspace(1,9,5) b =1 3 5 7 9>> a+bans =3 7 11 15 19>> a-bans =1 1 1 1 1>> a.*bans =2 12 30 56 90>> a./bans =2.0000 1.3333 1.2000 1.1429 1.1111 >> a.\b ans =0.5000 0.7500 0.8333 0.8750 0.9000 2.(1) >> a=[1 1 1;2 2 2;3 3 3];>> b=[4 4 4;5 5 5;6 6 6];>> a+bans =5 5 57 7 79 9 9>> a-bans =-3 -3 -3-3 -3 -3-3 -3 -3>> a*bans =15 15 1530 30 3045 45 45>> a/bWarning: Matrix is singular to working precision. ans =NaN NaN NaNNaN NaN NaNNaN NaN NaN>> a\bWarning: Matrix is singular to working precision. ans =NaN NaN NaNNaN NaN NaNInf Inf Inf(2).>> a=[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4];>> det(a)ans =(3).>> a=[4 9 2;7 6 4;3 5 7];>> b=[13;6;6];>> x=inv(a)*bx =-0.53081.7109-0.1374实验三 MATLAB数值计算(二)一实验目的:1.掌握多项式的创建与运算方法;2. 掌握基本的数据分析方法;二实验装置:计算机三实验内容:1.多项式创建输入系数矢量,创建多项式x^3-2*x^2+5*x+3。
matlab实验报告
Matlab实验报告实验二图像处理一、实验目的(1)通过应用MA TLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用;(2)通过实验进一步掌握图像处理的基本技术和方法。
二、实验内容及代码㈠.应用MA TLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换首先,在matlab页面中的current directory下打开存放图像的文件夹。
1.显示各种图像⑴显示彩色图像:①代码:>> mousetif=imread('tif.TIF');>> image(mousetif)显示截图:②代码:>> mousetif=imread('tif.TIF');>> imshow(mousetif)显示截图:③代码:mousetif=imread('tif.TIF');subimage(mousetif)显示截图:显示截图:⑵显示二值图像①代码:>> I=imread('单色bmp.bmp');>> imagesc(I,[0 2])显示截图:②代码:>> I=imread('单色bmp.bmp');>> imshow(I,2)显示截图:③代码:>> I=imread('单色bmp.bmp');>> subimage(I)显示截图:⑶显示灰度图像①代码:>> I1=imread('256bmp.bmp');>> imagesc(I1,[0,256])显示截图:代码:>> I1=imread('256bmp.bmp');>> colormap(gray);>> subplot(1,2,1);>> imagesc(I1,[0,256]);>> title('灰度级为[0 256]的mouse.bmp图');>> subplot(1,2,2);>> imagesc(I1,[0,64]);>> colormap(gray);>> title('灰度级为[0 64]的mouse.bmp图');显示截图:⑷显示索引图像代码:>> mousetif=imread('tif.TIF');>> [x,map]=rgb2ind(mousetif,0.7);>> subplot(1,2,1);>> imshow(mousetif);>> title('彩色图像');>> subplot(1,2,2);>> imshow(x,map);>> title('索引图');截图显示:彩色图像索引图2.图像之间的转换⑴索引图像转灰度图像代码:>> II1=ind2gray(x,map);>> imshow(x,map);>> title('索引图像');>> imshow(II1);>> title('灰度图像');截图显示:索引图像灰度图像⑵ 索引图像转彩色图像⑶ 索引图像转二值图像⑷ 灰度图像转索引图像代码:>> I1=imread('256bmp.bmp');>> subplot(1,2,1);>> imagesc(I1,[0,256]); >> colormap(gray); >> title('灰度图');>> [x,map]=gray2ind(I1,256); >> subplot(1,2,2); >> image(x);>> colormap(map); >> title('索引图');显示截图:灰度图2004006008001000100200300400500600索引图2004006008001000100200300400500600⑸灰度图像转彩色图像⑹灰度图像转二值图像⑺彩色图像转灰度图像⑻彩色图像转索引图像代码:>> mousetif=imread('tif.TIF');>> [x,map]=rgb2ind(mousetif,0.7);>> subplot(1,2,1);>> imshow(mousetif);>> title('彩色图像');>> subplot(1,2,2);>> imshow(x,map);>> title('索引图');显示截图:彩色图像索引图⑼彩色图像转二值图像⑽二值图像转索引图像⑾二值图像转彩色图像⑿二值图像转灰度图像㈡应用MA TLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图。
Matlab实验报告
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境。
2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1)y=sin(x); (2) y=(1+x)^3*(2-x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1-x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x-4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2) y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6)y6=x^2/23.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(-x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x); (2) x/(1+x^2); (3) 1/(x-1)/(x-2);求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
西安邮电大学光学实验matlab仿真结果分析与程序
光学实验实验报告课程名称:光学实验*名:***学院:电子工程学院系部:光电子技术系专业:电子科学与技术年级:科技1201学号:********指导教师:**2014年12 月24 日光波在介质中界面上的反射及透射特性一.实验目的:1.掌握反射系数及透射系数的概念;2.掌握反射光与透射光振幅和相位的变化规律; 3.掌握布儒斯特角和全反射临界角的概念。
二.实验原理:1 反射定律和折射定律光由一种介质入射到另一种介质时,在界面上将产生反射和折射。
现假设二介质为均匀、透明、各向同性介质,分界面为无穷大的平面,入射、反射和折射光均为平面光波,其电场表示式为)(0r k t i l l l l e E E ⋅--=ω l =i, r, t式中,脚标i 、r 、t 分别代表入射光、反射光和折射光;r 是界面上任意点的矢径,在图2-1所示的坐标情况下,有r=ix+jy图2-1 平面光波在界面上的反射和折射 图2-2 k i 、k r 、k t 三波矢关系根据电磁场的边界条件,可以得到如下关系)(0)(t i r i tr i =⋅-=⋅-==r k k r k k ωωω 这些关系表明:①入射光、反射光和折射光具有相同的频率;②入射光、反射光和折射光均在入射面内,k i 、k r 和k t 波矢关系如图2-2所示。
进一步可得tt i i r r i i sin sin sin sin θθθθk k k k == 或tt i i r r i i sin sin sin sin θθθθn n n n ==即介质界面上的反射定律和折射定律,它们给出了反射光、折射光的方向。
折射定律又称为斯涅耳(Snell)定律。
2 菲涅耳公式 s 分量和p 分量通常把垂直于入射面振动的分量称做s 分量,把平行于入射面振动的分量称做p 分量。
为讨论方便起见,规定s 分量和p 分量的正方向如图2-3所示。
图2-3 s 分量和p 分量的正方向反射系数和透射系数 假设介质中的电场矢量为)(i 0e r k t l l l E E ⋅--=ω l =i, r, t其s 分量和p 分量表示式为)(i 0e r k t lm lm l E E ⋅--=ω m =s,p则定义s 分量、p 分量的反射系数、透射系数分别为tmtm m im rmm E E t E E r 0000==菲涅耳公式假设界面上的入射光、反射光和折射光同相位,根据电磁场的边界条件及s 分量、p 分量的正方向规定,可得ts rs s E E E i =+和2tp 1rp 1ip cos cos cos θθθH H H =-利用E H εμ=,上式变为22ts 11rs is cos cos )(θθn E n E E =-再利用折射定律,消去E ts ,经整理可得)sin()sin(1212is rs θθθθ+-=E E 根据反射系数定义,得到)sin()sin(2121θθθθ+--=s r221111cos cos cos 2θθθn n n t s +=将所得到的表示式写成一个方程组,就是著名的菲涅耳公式:212122112*********tan tan tan tan cos cos cos cos )sin()sin(θθθθθθθθθθθθ+--=+-=+--==n n n n E E r is rs s 2121211221122121002sin 2sin 2sin 2sin cos cos cos cos )tan()tan(θθθθθθθθθθθθ+-=+-=+-==n n n n E E r iprp p 21121121112100221111212100cos cos cos 2)cos()sin(sin cos 2cos cos cos 2)sin(sin cos 2θθθθθθθθθθθθθθθθn n n E E t n n n E E t iptp p is ts s +=-+==+=+==这些系数首先是由菲涅耳用弹性波理论得到的,所以又叫做菲涅耳系数。
MATLAB实验报告2
实验二用MATLAB实现线性系统的时域分析[实验目的]1.研究线性系统在典型输入信号作用下的暂态响应;2.熟悉线性系统的暂态性能指标;3.研究二阶系统重要参数阻尼比ξ对系统动态性能的影响;4.熟悉在MATLAB下判断系统稳定性的方法;5.熟悉在MATLAB下求取稳态误差的方法。
[实验原理]MATLAB中有两类用于求解系统时域响应的方法。
一、用MATLAB函数(命令)进行暂态响应分析1 求取线性连续系统的单位阶跃响应的函数——step基本格式为:step(sys)、step(num,den)、step(A,B,C,D)、step(sys,t) 、step(sys1,sys2,…,t) 、y=step(sys,t)、[y,t]=step(sys)、[y,t,x]=step(sys)其中模型对象的类型如下:sys = tf(num,den) 多项式模型、sys = zpk(z,p,k) 零点极点模型、sys = ss(a,b,c,d) 状态空间模型参数无t,表示时间向量t的范围自动设定。
参数有t,表示给定时间向量t,应该有初值,时间增量,末值,如t=0:0.01:2。
前5种函数可以绘出阶跃响应曲线;后3种函数不绘阶跃响应曲线,而是返回响应变量y,时间向量t,以及状态变量x。
2 求取线性连续系统的单位脉冲响应的函数——impulse基本格式为:impulse(sys)、impulse(num,den) 、impulse (sys,tf)、impulse (sys,t) 、impulse (sys1,sys2,…,t) 、y=impulse(sys,t) 、[y,t]=impulse(sys) 、[y,t,x]=impulse (sys)3 求取线性连续系统的单位斜坡响应MATLAB没有直接求系统斜坡响应的功能函数。
在求取控制系统的斜坡响应时,通常用阶跃响应函数step()求取传递函数为G (s)/s的系统的阶跃响应,则其结果就是原系统G (s)的斜坡响应。
matlab实验报告
(2)将上述信号左平移或右平移 得到两个新信号y2和y3,利用hold命令在同一图中显示三条曲线并通过线型和颜色加以区分。
(3)利用subplot命令将y,y2和y3以子图的形式显示。
3.
实验结果及分析
1.(1)
t1 =
0.0780
实验结果及分析
(2)
t2 =
0.0780
实验结果及分析
(3)
t3 =
0
实验结果及分析
2.
实验
名称
实验四Matlab在通信系统中的应用
实验目的
1、练习通信原理中各种调制方法及简单通信系统的Matlab编程实现;
2、学习Matlab与Simulink的混合编程。
(2)y变成虚数后,重复上述运算。
(3)创建矩阵 ,并进行如下操作,取出矩阵A的前两行元素,生成一个新矩阵B。生成一个3*3的单位矩阵B,与矩阵A进行加、减、乘、除、相等、不相等运算。
(4)随机生成2个复数x1和x2,计算x3=x1÷x2,x3的实部real_x3、虚部image_x3、模abs_x3、幅角angle_x3,并把x1,x2,x3,real_x3,image_x3,abs_x3,angle_x3保存至文件complex_学号.mat。利用save命令保存数据为mat格式文件后,用clear命令清除工作空间中的变量,再利用load命令从文件读入数据。
2、流程控制语句相关操作。
(1)使用for语句及while语句求解1至100整数中奇数的和。
(2)求连续自然数的和,当和大于等于1000时,求最后一个自然数以及自然数的和。
国家开放大学《Matlab语言及其应用》实验报告(第二章--Matlab基本程序设计)
国家开放大学《Matlab语言及其应用》实验报告
——Matlab基本程序设计
姓名:学号:
1.M文件
M文件是一个文本文件,可以用任何文本编辑器来建立和编辑,通常使用 Matlab 自带的 M 文件编辑器。
例:编写一个脚本文件将华氏温度转化为摄氏温度。
c=5
9
(f−32)
●新建一个 M 文件 f2cs.m,内容如下:
clear; % 清除当前工作空间中的变量
f=input('Please input Fahrenheit temperature:');
c=5*(f-32)/9;
fprintf('The centigrade temperature is %g\n',c);
●在命令窗口中输入 f2cs,即可执行该 M 文件。
脚本文件运行后,文件中所产生的所有变量都驻留在 Matl ab 当前工作空间,可以用 whos 查看。
2.程序控制结构
例:计算函数y=cos(x+1)+√x2+1 x≥10d的值。
clear
x=input('请输入x的值:');
if x>=10
y=cos(x+1)+sqrt(x*x+1);
end
y
请输入x的值:12
y =12.9490
3.程序调试
例:拼写错误
clear
t=0:0.1:10;
y=son(t);
例:函数错误
调试器的使用:MatLab的调试器和M文件编辑器集成一体。
实验二MATLAB程序设计含实验报告
实验二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 语句填写上相关注释,说明其含义或功能。
西安邮电大学matlab实验二
实验二 Matlab 基本操作与绘图一、实验目的:1、 熟悉并掌握矩阵的基本操作与基本运算。
2、 熟练使用常用的二维和三维绘图函数。
二、实验内容:1、 创建下列矩阵134********,122438,[1,0,8,3,6,2,4,23,46,6]78276853a b c -⎡⎤⎡⎤⎢⎥⎢⎥===-⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦,对上述矩阵做如下运算:1)求a+b ,a*b ,a.*b ,a/b ,a./b ,a^2,a.^2的结果。
2)求c 中所有元素的平均值、最大值、中值;将c 中元素按从小到大顺序排列。
3)求d=b(2:3, [1,3])。
2、 已知矩阵A=[1 2 3; 8 9 10; 11 20 38],分别求此矩阵的共轭矩阵、转置矩阵、逆矩阵、行列式的值、矩阵的迹、矩阵的秩。
3、 求解下面的方程组。
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⨯⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----017413231511222315921274321x x x x 4、 使用Subplot 函数,把图形窗口分成两个部分,分别绘制sin2t 和3cos3t 曲线,t 范围: 0-5。
要求前者用红色实线,数据点形状为上三角,有网格线,x 轴加标注“x”,y 轴加标注“y=sin2t”,加图题目“sin2t 的曲线”;后者用蓝色虚线,数据点形状为圆形,无网格线,x 轴加标注“x”,y 轴加标注“y=3cos3t”,加图题目“3cos3t 的曲线”。
5、绘制22()2,3,3x y Z xye x y +-=-≤≤的三维网线图和三维曲面图。
三、实验报告要求:针对每一个实验内容,在实验过程记录里写出相应程序语句,并附上Matlab 执行结果。
四、实验过程记录:1.(1).>> a=[1 3 4;5 12 44;7 8 27]; >> b=[-7 8 4;12 24 38;68 -5 3];>> d=a+bd =-6 11 817 36 8275 3 30>> d=a*bd =301 60 1303101 108 6081883 113 413 >> d=a.*bd =-7 24 1660 288 1672476 -40 81直接做a/b>> d=a/bd =0.0966 0.0945 0.0080-3.6125 1.5838 -0.5778-1.9917 0.9414 -0.2682另B可逆方阵,计算a/b,如下>> d=a*inv(b)d =0.0966 0.0945 0.0080-3.6125 1.5838 -0.5778-1.9917 0.9414 -0.2682>> d=a./bd =-0.1429 0.3750 1.00000.4167 0.5000 1.15790.1029 -1.6000 9.0000>> d=a^2d =44 71 244373 511 1736236 333 1109 >> d=a.^2d =1 9 1625 144 193649 64 729(2)>> c=[1,0,8,3,6,2,-4,23,46,6];>> mean(c)ans =9.1000>> max(c)ans =46>> median(c)ans =4.5000>> sort(c)ans =-4 0 1 2 3 6 6 8 23 46 (3)>> d=b(2:3, [1,3])d =12 3868 32.>> A=[1 2 3; 8 9 10; 11 20 38]A =1 2 38 9 1011 20 38共轭矩阵>> conj(A)A =1 2 38 9 1011 20 38转置矩阵>> A'ans =1 8 112 9 203 10 38逆矩阵>> inv(A)ans =-2.2540 0.2540 0.11113.0794 -0.0794 -0.2222-0.9683 -0.0317 0.1111行列式的值>> det(A)ans =-63矩阵的迹>> trace(A)ans =48矩阵的秩>> rank(A)ans =3.>> a=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13]; >> b=[4;7;-1;0];>> x=inv(a)*bx =0.49790.14450.0629-0.08134.t=0:pi/100:5;y1=sin(2*t);y2=3*cos(3*t);subplot(2,1,1);plot(t,y1,'r-^');xlabel('x');ylabel('y=sin(2*t)');title('sin2t的图像');grid onsubplot(2,1,2);plot(t,y2,'b:o');xlabel('x');ylabel('y=cos(3*t)');title('cos3t的图像');grid off5.x=linspace(-3,3,25);y=linspace(-3,3,25);[x,y]=meshgrid(x,y);z=x.*y.*exp(-(x.^2+y.^2)/2); mesh(x,y,z)xlabel('x axes');ylabel('y axes');zlabel('z axes');x=linspace(-3,3,25);y=linspace(-3,3,25);[x,y]=meshgrid(x,y);z=x.*y.*exp(-(x.^2+y.^2)/2); surf(x,y,z)五实验小结:通过本次Matlab实验,增强了动手的能力,知道了使用一些简单的函数,明白了.m文件的建立,以及将数据文件保存到本地的磁盘中,以.mat文件为后缀。
西安邮电大学光学实验matlab仿真结果分析与程序
光学实验实验报告课程名称:光学实验姓名:伍金霄学院:电子工程学院系部:光电子技术系专业:电子科学与技术年级:科技1201学号:指导教师:刘娟2014年12 月24 日光波在介质中界面上的反射及透射特性一.实验目的:1.掌握反射系数及透射系数的概念;2.掌握反射光与透射光振幅和相位的变化规律; 3.掌握布儒斯特角和全反射临界角的概念。
二.实验原理:1 反射定律和折射定律光由一种介质入射到另一种介质时,在界面上将产生反射和折射。
现假设二介质为均匀、透明、各向同性介质,分界面为无穷大的平面,入射、反射和折射光均为平面光波,其电场表示式为)(0r k t i l l l l e E E ⋅--=ω l =i, r, t式中,脚标i 、r 、t 分别代表入射光、反射光和折射光;r 是界面上任意点的矢径,在图2-1所示的坐标情况下,有r=ix+jy图2-1 平面光波在界面上的反射和折射 图2-2 k i 、k r 、k t 三波矢关系根据电磁场的边界条件,可以得到如下关系)(0)(t i r i tr i =⋅-=⋅-==r k k r k k ωωω 这些关系表明:①入射光、反射光和折射光具有相同的频率;②入射光、反射光和折射光均在入射面内,k i 、k r 和k t 波矢关系如图2-2所示。
进一步可得tt i i r r i i sin sin sin sin θθθθk k k k == 或tt i i r r i i sin sin sin sin θθθθn n n n ==即介质界面上的反射定律和折射定律,它们给出了反射光、折射光的方向。
折射定律又称为斯涅耳(Snell)定律。
2 菲涅耳公式 s 分量和p 分量通常把垂直于入射面振动的分量称做s 分量,把平行于入射面振动的分量称做p 分量。
为讨论方便起见,规定s 分量和p 分量的正方向如图2-3所示。
图2-3 s 分量和p 分量的正方向反射系数和透射系数 假设介质中的电场矢量为)(i 0e r k t l l l E E ⋅--=ω l =i, r, t其s 分量和p 分量表示式为)(i 0e r k t lm lm l E E ⋅--=ω m =s,p则定义s 分量、p 分量的反射系数、透射系数分别为tmtm m im rmm E E t E E r 0000==菲涅耳公式假设界面上的入射光、反射光和折射光同相位,根据电磁场的边界条件及s 分量、p 分量的正方向规定,可得ts rs s E E E i =+和2tp 1rp 1ip cos cos cos θθθH H H =-利用E H εμ=,上式变为22ts 11rs is cos cos )(θθn E n E E =-再利用折射定律,消去E ts ,经整理可得)sin()sin(1212is rs θθθθ+-=E E 根据反射系数定义,得到)sin()sin(2121θθθθ+--=s r221111cos cos cos 2θθθn n n t s +=将所得到的表示式写成一个方程组,就是著名的菲涅耳公式:212122112*********tan tan tan tan cos cos cos cos )sin()sin(θθθθθθθθθθθθ+--=+-=+--==n n n n E E r is rs s 2121211221122121002sin 2sin 2sin 2sin cos cos cos cos )tan()tan(θθθθθθθθθθθθ+-=+-=+-==n n n n E E r iprp p 21121121112100221111212100cos cos cos 2)cos()sin(sin cos 2cos cos cos 2)sin(sin cos 2θθθθθθθθθθθθθθθθn n n E E t n n n E E t iptp p is ts s +=-+==+=+==这些系数首先是由菲涅耳用弹性波理论得到的,所以又叫做菲涅耳系数。
MATLAB实验报告第二章
第二章作业M2_1.利用MATLAB实现下列连续时间信号。
(1)x(t)=u(t)-u(t-2)function y=heaviside(t);y=(t>0);endt=-10:0.001:10;>>xt=heaviside(t)-heaviside(t-2);>>plot(t,xt)>>axis([-10,10,-2,2])(2) x(t)=u(t)function y=heaviside(t);y=(t>0);endt=-10:0.001:10;>>xt=heaviside(t);>>plot(t,xt)>>axis([-10,10,-2,2])(3)xt=10exp(-t)-5exp(-2t)>> A=10;a=-1;>> t=0:0.001:10;>> x1t=A*exp(a*t);>> A=5;a=-2;>> t=0:0.001:10;>> x2t=A*exp(a*t);>>xt=x1t-x2t;>>plot(t,xt)(4)xt=tu(t)>> t=-10:0.001:10;>>xt=t.*heaviside(t);>>plot(t,xt)(5)xt=2|sin(10pit+pi/3)| >> A=2;w0=10*pi;phi=pi/3; >> t=0:0.001:1;>>xt=A*abs(sin(w0*t+phi)); >>plot(t,xt)>>axis([0,1,-4,4])Xt=cost+sin(2pit)>> A=1;w0=1;phi=0; >> t=0:0.002:10;>> x1t=A*cos(w0*t+phi); >> A=2;w0=2*pi;phi=0; >> t=0:0.002:10;>> x2t=A*sin(w0*t+phi); >>xt=x1t+x2t;>>plot(t,xt)(7)xt=4exp(-0.5t)cos(2pit) >> A=5;a=-0.5;>> t=0:0.001:10;>> x1t=A*exp(a*t);>> A=1;w0=2*pi;phi=0; >> t=0:0.001:10;>> x2t=A*cos(w0*t+phi); >>xt=x1t.*x2t;>>plot(t,xt)(8)Sa(pit)cos(30t)A=1;w0=30;phi=0;>> t=0:0.001:3;>> x1t=A*cos(w0*t+phi);>> t=0:0.001:3;>> x2t=sinc(t);>>xt=x1t.*x2t;>>plot(t,xt)M2-3,写出书中图示波形函数,并画出xt,x0.5t,x(2-0.5t)的图像function yt=x2_3(t)yt=t.*(t>=0&t<2)+2*(t>=2&t<3)+(-1)*(t>=3&t<=5); end>> t=0:0.001:5;>>xt=x2_3(t);>>title('x(t)');>>plot(t,xt)>>axis([0,6,-2,3])>> t=0:0.001:10;xt=x2_3(0.5*t); >>plot(t,xt)>>title('x(0.5t)')>>axis([0,10,-2,3])x(0.5t)>> t=-10:0.001:10;>>xt=x2_3(2-0.5*t);>>plot(t,xt)>>title('x(2-0.5t)')>>axis([-10,10,-2,3])M2-4画出图示的奇分量和偶分量。
MATLAB实验报告
班级:通信班姓名:彭羊平学号: 222008315222033实验一:matlab的基本操作一、实验目的:1、了解MATLAB的集成环境,熟悉其基本操作。
2、了解MATLAB的基础知识,包括矩阵的建立、简单操作、逻辑操作和关系运算。
3、熟悉基本的数学函数和逻辑函数。
4、在命令窗口输入命令完成一些简单的功能,为MATLAB程序设计奠定基础。
二、实验内容:1、利用diag等函数产生下列矩阵:然后利用reshape函数将它们变换成行向量。
2、利用rand函数产生(0,1)间均匀分布的10*10随机矩阵A,然后统计A中大于等于0.6的元素的个数。
3、有一矩阵A,找出矩阵中值大于1的元素,并将它们重新排列成列向量B。
4、在一测量矩阵A(6*6),存在有奇异值(假设大于100的值为奇异值),编程实现删去奇异值所在的行。
三、实验结果:1、程序如下:a=fliplr(diag([8,-7,2])+diag([5,3],-1))a=reshape(a,1,9)b=diag([2,5,8])+diag([4],2)+diag([7],-2) b=reshape(b,1,9)结果如下:2、程序如下:A=rand(10)A=A>0.6sum(sum(A))结果如下:3、程序如下:A=fix(5*rand(5))a=A>1;K=find(a);for k=1:length(K)B(k)=A(K(k));endB=B'结果如下:4、程序如下:A=fix(100*rand(8))+5 B=A>100;k=find(any(B'))A(k,:)=0结果如下:班级:通信班姓名:彭羊平学号: 222008315222033实验二: matlab绘图(1)一、实验目的:1、了解MATLAB图形系统和各种图形函数。
2、熟悉MATLAB的基本图形操作,具备MATLAB画图能力。
3、熟悉各种数学函数,并通过图形函数画出。
西安邮电大学《数字信号处理实验》
实验一:信号的表示一、实验目的:1、了解MATLAB 程序设计语言的基本特点,熟悉MATLAB软件运行环境。
2、掌握各种信号的建模方式。
3、掌握各种信号的图形表示方法。
4、掌握变量等有关概念,具备初步的将一般数学模型转化为对应的计算机模型并进行处理的能力二、实验设备:PC机MATLAB7.0软件三、实验内容学习使用MATLAB7.0软件。
学习信号的图形表示方法,掌握各种信号的建模方式。
实现单位采样序列()nδ、单位阶跃序列()R n、三角波、u n、矩形序列()N方波、锯齿波、Sinc函数。
四、参考实例:常用的MATLAB绘图语句有figure、plot、subplot、stem等,图形修饰语具有title、axis、text等。
(1)figure语句figure有两种用法。
当只有一句figure命令时,程序会创建一个新的图形窗口,并返回一个整数型的窗口编号。
当采用figure(n)时,表示将第n个图形窗口作为当前的图形窗口,将其显示在所有窗口的最前面。
如果该图形窗口不存在,则新建一个窗口,并赋以编号n。
(2)plot语句线形绘图函数。
用法为plot(x,y,’s’)。
参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略,常用方法如表1-1所示。
表1-1 plot命令的参数及其含义参数含义参数含义参数含义y 黄色 . 点 - 实线m 紫色 o 圆 : 虚线c 青色 x 打叉 -. 点划线r 红色 + 加号 -- 破折线向上三角形g 绿色 * 星号 ^b 蓝色 s 正方形 < 向左三角形向右三角形w 白色 d 菱形 >向下三角形 p 五角星形k 黑色 v• 功能: 序列左右翻转 • 调用格式:Y = FLIPLR(X) • % X = 1 2 3 翻转后 3 2 1 • 4 5 6 6 5 4 • ★ CUMSUM 、SUM • 功能: 计算序列累加 •调用格式:Y = CUMSUM(X) % 向量X 元素累加,记录每一次的累加结果,而SUM 只记录最后的结果五、实验报告(1)实现单位采样序列()n δ、单位阶跃序列()u n 、矩形序列()NR n ,并用图形显示。
MATLAB第二章实验报告
MATLAB数据及基本操作班级:11电信一班姓名:何得中学号:20111060108实验目的:1.熟悉MATLAB的组体成体系及工作环境;2.了解MATLAB的帮助系统;3.掌握MATLAB的数据类型及变量的基本操作;4.掌握矩阵建立的基本方法及其运算;5.掌握矩阵索引与分析方法;6.熟悉字符串单元及结构数据的建立及基本操作。
实验仪器:MA TLAB软件,电脑实验数据:>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> A=[1 2 34 5 67 8 9]A = 1 2 34 5 67 8 9>> x=0:pi/8:2*pi;>> y=cos(x)y = Columns 1 through 101.0000 0.9239 0.7071 0.3827 0.0000 -0.3827 -0.7071 -0.9239 -1.0000 -0.9239Columns 11 through 17-0.7071 -0.3827 -0.0000 0.3827 0.7071 0.9239 1.0000>> B=ones(3,5)B = 1 1 1 1 11 1 1 1 11 1 1 1 1>> zeros(3)ans = 0 0 00 0 00 0 0>> C=rand(3,4)C = 0.9501 0.4860 0.4565 0.44470.2311 0.8913 0.0185 0.61540.6068 0.7621 0.8214 0.7919>> D=randn(2,3)D = -0.4326 0.1253 -1.1465-1.6656 0.2877 1.1909>> eye(3)ans = 1 0 00 1 00 0 1>> M=magic(4)M = 16 2 3 135 11 10 89 7 6 124 14 15 1>> T=toeplitz(1:5,1:6)T = 1 2 3 4 5 62 1 234 53 2 1 2 3 44 3 2 1 2 35 4 3 2 1 2>> H=hilb(5)H = 1.0000 0.5000 0.33330.2500 0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111>> a=3:18a =3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18>> b=1:0.2:6b =Columns 1 through 91.0000 1.2000 1.4000 1.600 1.80002.0000 2.2000 2.4000 2.6000 Columns 10 through 182.80003.0000 3.2000 3.40003.6000 3.80004.0000 4.2000 4.4000 Columns 19 through 264.6000 4.80005.0000 5.20005.4000 5.6000 5.80006.0000>> linspace(1,15,10)ans =Columns 1 through 91.00002.5556 4.1111 5.6667 7.2222 8.7778 10.3333 11.8889 13.4444Column 1015.0000>> y=[0.9 0.3 0.4 0.1 0.5 0.6 0.2 ]; >> [sorted,index]=sort(y)sorted =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.9000 index =4 7 2 3 5 6 1>> A=rand(4,5)A = 0.9218 0.9355 0.0579 0.13890.27220.7382 0.9169 0.3529 0.2028 0.19880.1763 0.4103 0.8132 0.1987 0.01530.4057 0.8936 0.0099 0.6038 0.7468>> [a,b]=min(A)a =0.1763 0.4103 0.0099 0.13890.0153b = 3 3 4 1 3>> min(A(:))ans = 0.0099>> V=[1 2 3 4]V = 1 2 3 4>> norm(V,2)ans =5.4772>> norm(V,1)ans = 10>> norm(V,inf)ans = 4>> V=[2 5 6 8 4 9]V = 2 5 6 8 4 9>> min(V)ans = 2>> V=[4 9 6;7 8 9;4 5 6]V = 4 9 67 8 94 5 6>> min(V)ans = 4 5 6>> max(V)ans = 7 9 9>> mean(V)ans = 5.0000 7.3333 7.0000>> median(V)ans = 4 8 6>> std(V)ans = 1.7321 2.0817 1.7321>> diff(V)ans =3 -1 3-3 -3 -3>> sort(V)ans =4 5 64 8 67 9 9>> length(V)ans = 3>> norm(V)ans =19.9125>> sum(V)ans = 15 22 21>> prod(V)ans =112 360 324>> cumsum(V)ans = 4 9 611 17 1515 22 21 >> cumprod(V)ans = 4 9 628 72 54112 360 324>> V=[1 2 8]V = 1 2 8>> U=[3; 4;7]U = 347>> dot(V,U)ans =67>> cross(V,U)ans =-18 17 -2>> A=[5 6 4;7 8 9;4 5 6]A = 5 6 47 8 94 5 6>> B=[6 2 7 ;7 5 8;4 6 8]B = 6 2 77 5 84 6 8>> C=A-BC = -1 4 -30 3 10 -1 -2>> C=A*BC = 88 64 115134 108 18583 69 116>> C1=A\BC1 =0.6667 -6.4444 -7.66670.6667 4.8889 7.3333-0.3333 1.2222 0.3333>> C2=B/AC2 = -3.0000 8.3333 -9.3333-1.6667 5.5556 -5.88890.0000 -1.3333 3.3333>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> D=A^2D = 30 36 4266 81 96102 126 150>> E=A^0.1E = 0.8466 + 0.2270i 0.3599 + 0.0579i -0.0967 - 0.1015i0.4015 + 0.0216i 0.4525 + 0.0133i 0.4432 - 0.0146i-0.0134 - 0.1740i 0.4848 - 0.0509i 1.0132 + 0.0820i>> A=[1+2*i 3;4 2+i]A =1.0000 + 2.0000i 3.00004.0000 2.0000 + 1.0000i>> A'ans = 1.0000 - 2.0000i 4.00003.0000 2.0000 - 1.0000i>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> B=[3 4 6;7 9 8;5 2 01]B = 3 4 67 9 85 2 1>> C=A.*BC = 3 8 1828 45 4835 16 9>> D=A./BD = 0.3333 0.5000 0.50000.5714 0.5556 0.75001.4000 4.0000 9.0000>> E=A.\BE = 3.0000 2.0000 2.00001.7500 1.8000 1.33330.7143 0.2500 0.1111>> A=[1+2*i 3;4 2+i]A = 1.0000 + 2.0000i 3.00004.0000 2.0000 + 1.0000i>> A.^2ans = -3.0000 + 4.0000i 9.000016.0000 3.0000 + 4.0000i>> A.'ans = 1.0000 + 2.0000i 4.00003.0000 2.0000 + 1.0000i>> x=0.1:0.1:0.8x =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000>> y=sin(2*x).*cos(2*x)y =0.1947 0.3587 0.4660 0.4998 0.4546 0.3377 0.1675 -0.0292>> y=sin(x)y =0.0998 0.1987 0.2955 0.3894 0.4794 0.5646 0.6442 0.7174>> y=cos(x)y =0.9950 0.9801 0.9553 0.9211 0.8776 0.8253 0.7648 0.6967>> y=tan(x)y =0.1003 0.2027 0.3093 0.4228 0.5463 0.6841 0.8423 1.0296>> y=cot(x)y =9.9666 4.9332 3.2327 2.3652 1.8305 1.4617 1.1872 0.9712>> y=sec(x)y = 1.0050 1.0203 1.0468 1.0857 1.1395 1.2116 1.3075 1.4353>> y=csc(x)y = 10.0167 5.0335 3.3839 2.5679 2.0858 1.7710 1.5523 1.3940>> y=asin(x)y = 0.1002 0.2014 0.3047 0.4115 0.5236 0.6435 0.7754 0.9273>> y=acos(x)y = 1.4706 1.3694 1.2661 1.1593 1.0472 0.9273 0.7954 0.6435>> y=atan(x)y =0.0997 0.1974 0.2915 0.3805 0.4636 0.5404 0.6107 0.6747>> y=acot(x)y = 1.4711 1.3734 1.2793 1.1903 1.1071 1.0304 0.9601 0.8961>> y=asec(x)y =Columns 1 through 60 + 2.9932i 0 + 2.2924i0 + 1.8738i 0 + 1.5668i 0 +1.3170i 0 + 1.0986iColumns 7 through 80 + 0.8956i 0 + 0.6931i>> y=sinh(x)y =0.1002 0.2013 0.3045 0.4108 0.5211 0.6367 0.7586 0.8881>> y=cosh(x)y =1.0050 1.0201 1.0453 1.0811 1.1276 1.1855 1.2552 1.3374>> y=tanh(x)y = 0.0997 0.1974 0.2913 0.3799 0.4621 0.5370 0.6044 0.6640>> y=coth(x)y = 10.0333 5.0665 3.4327 2.6319 2.1640 1.8620 1.6546 1.5059>> y=sech(x)y = 0.9950 0.9803 0.9566 0.9250 0.8868 0.8436 0.7967 0.7477>> y=csch(x)y = 9.9834 4.9668 3.2839 2.4346 1.9190 1.5707 1.3182 1.1260>> y=asinh(x)y = 0.0998 0.1987 0.2957 0.3900 0.4812 0.5688 0.6527 0.7327>> y=acosh(x)y =Columns 1 through 60 + 1.4706i 0 + 1.3694i0 + 1.2661i 0 + 1.1593i 0 +1.0472i 0 + 0.9273iColumns 7 through 80 + 0.7954i 0 + 0.6435i>> y=atanh(x)y = 0.1003 0.2027 0.3095 0.4236 0.5493 0.6931 0.8673 1.0986>> y=acoth(x)y = Columns 1 through 60.1003 + 1.5708i 0.2027 + 1.5708i 0.3095 + 1.5708i 0.4236 + 1.5708i 0.5493 + 1.5708i 0.6931 + 1.5708i Columns 7 through 80.8673 + 1.5708i 1.0986 + 1.5708i >> y=asech(x)y = 2.9932 2.2924 1.8738 1.5668 1.3170 1.0986 0.8956 0.6931>> y=acsch(x)y = 2.9982 2.3124 1.9189 1.6472 1.4436 1.2838 1.1545 1.0476>> y=log(x)y =-2.3026 -1.6094 -1.2040 -0.9163 -0.6931 -0.5108 -0.3567 -0.2231>> y=log10(x)y = -1.0000 -0.6990 -0.5229 -0.3979 -0.3010 -0.2218 -0.1549 -0.0969>> y=log2(x)y =-3.3219 -2.3219 -1.7370 -1.3219 -1.0000 -0.7370 -0.5146 -0.3219>> c=complex(a,b)c = 0.1763 + 3.0000i 0.4103 + 3.0000i0.0099 + 4.0000i 0.1389 + 1.0000i 0.0153 + 3.0000i>> zc=conj(x)zc =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000>> b=imag(x)b = 0 0 0 0 0 00 0>> a=real(x)a = 0.1000 0.2000 0.3000 0.40000.5000 0.6000 0.7000 0.8000>> y=fix(x)y = 0 0 0 0 0 0 0 0>> y=floor(x)y =0 0 0 0 0 0 0 0 >> y=ceil(x)y = 1 1 1 1 1 1 1 1>> y=round(x)y = 0 0 0 0 1 1 1 1>> y=sign(x)y = 1 1 1 1 1 1 1 1>> S=rats(x)S =1/10 1/5 3/10 2/5 1/2 3/5 7/10 4/5>> [N,D]=rat(x)N = 1 1 3 2 1 37 4D = 10 5 10 5 2 510 5>> A=[2 4 6;3 5 7;8 10 9]A = 2 4 63 5 78 10 9>> B=[4 1 5;7 5 0;9 3 6]B = 4 1 57 5 09 3 6>> A>Bans = 0 1 10 0 10 1 1>> A<Bans = 1 0 01 0 01 0 0>> A>=Bans = 0 1 10 1 10 1 1>> A<=Bans = 1 0 01 1 01 0 0>> A==Bans = 0 0 00 1 00 0 0>> A~=Bans =1 1 11 0 11 1 1>> A&Bans = 1 1 11 1 01 1 1>> A|Bans = 1 1 11 1 11 1 1>> ~Aans = 0 0 00 0 00 0 0>> ~Bans = 0 0 00 0 10 0 0>> x=0:pi/100:3*pi;>> y=sin(x);>> plot(x,y);>> y1=(x<pi|x>2*pi).*y;>> figure,plot(x,y1);>> r=(x>pi/3&x<2*pi/3)|(x>7*pi/3&8*pi/3);>> rn=~r;>> y2=r*sin(pi/3)+rn.*y1;>> figure,plot(x,y2)>> x=[0 4 5 9 8 6 74 85 7 4 85 8 4 5 8]x =0 4 5 9 8 6 74 85 7 4 85 8 4 5 8>> all(x)ans =0>> any(x)ans = 1>> find(x)ans =2 3 4 5 6 7 8 9 10 11 12 13 14 15>> isempty(x)ans =>> isglobal(x)Warning: isglobal is obsolete and will be discontinued. Type "help isglobal" for more details.ans =0>> isinf(x)ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> isnan(x)ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> isfinite(x)ans =1 1 1 1 1 1 1 1 1 1 1 1 1 1 1>> issparse(x)ans = 0>> isstr(x)ans =0>> not(x)ans =1 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> y=[59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5]y =59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5>> y=[59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5]y = 59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5>> x=[0 4 5 9 8 6 74 85 7 4 85 8 4 5 8]x = 0 4 5 9 8 6 74 85 7 4 85 8 4 5 8>> A=[4 -40 2; 23 50 17;18 29 14]A = 4 -40 223 50 1718 29 14>> [r,c]=find(A>=20&A<=30)r = 23c = 12>> bitand(12,6)ans = 4>> bitshift(12,1)ans = 24>> bitxor(12,1)ans =13>> bitset(12,1)ans = 13 >> bitget(12,1)ans =0>> A =[ 87 59 56 85 66 21 12 35 62 64 69 88 99 81]A =87 59 56 85 66 21 1235 62 64 69 88 99 81>> A(2)ans =59>> A([1,2,8])ans =87 59 35>> A([9,6,2])ans =62 21 59>> A([end-4:end])ans =64 69 88 99 81>> A([1:5,5:-1:1])ans = 87 59 56 85 66 66 85 56 59 87>> A(3)=-1A = 87 59 -1 85 66 2112 35 62 64 69 88 99 81>> A(15)=-8A =87 59 -1 85 66 2112 35 62 64 69 88 99 81 -8>> A(20)=-1A = Columns 1 through 1687 59 -1 85 66 21 12 35 62 64 69 88 99 81 -8 0Columns 17 through 200 0 0 -1>> A=rand(8)A = 0.9501 0.8214 0.9355 0.13890.4451 0.8381 0.3046 0.37840.2311 0.4447 0.9169 0.2028 0.9318 0.0196 0.1897 0.86000.6068 0.6154 0.4103 0.1987 0.4660 0.6813 0.1934 0.85370.4860 0.7919 0.8936 0.6038 0.4186 0.3795 0.6822 0.59360.8913 0.9218 0.0579 0.2722 0.8462 0.8318 0.3028 0.49660.7621 0.7382 0.3529 0.1988 0.5252 0.5028 0.5417 0.89980.4565 0.1763 0.8132 0.0153 0.2026 0.7095 0.1509 0.82160.0185 0.4057 0.0099 0.7468 0.6721 0.4289 0.6979 0.6449>> A(3,3)ans =0.4103>> A(8)ans =0.0185>> sub2ind(size(A),3,3)ans =19>> [i,j]=ind2sub(size(A),19)i =3j =3>> A(:,4)ans =0.13890.20280.19870.60380.27220.19880.01530.7468>> A(3,:)ans =0.6068 0.6154 0.4103 0.1987 0.4660 0.6813 0.1934 0.8537>> A(end,:)ans =0.0185 0.4057 0.0099 0.7468 0.6721 0.4289 0.6979 0.6449>> A(3:4,5:6)ans =0.4660 0.68130.4186 0.3795>> A(2:2:4,1:2:5)ans =0.2311 0.9169 0.93180.4860 0.8936 0.4186>> A=reshape(A,5,5)A = 1 6 11 16 212 7 12 17 223 8 13 18 234 9 14 19 245 10 15 20 25>> A(:)'ans =Columns 1 through 161 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Columns 17 through 2517 18 19 20 21 22 23 24 25>> A(:,1:2:5)=[]A = 6 167 178 189 1910 20>> A=[9 8 7;6 5 4;3 2 1];>> D=diag(A)D =951>> D1=diag(A,1)D1 =84>> D2=diag(A,-1)D2 =62>> V=[1 2 3 4];>> diag(V)ans = 1 0 0 00 2 0 00 0 3 00 0 0 4>> diag(1:3,-1)ans = 0 0 0 01 0 0 00 2 0 00 0 3 0>>A=[17,1,0,15;5,7,14,16;4,0,13,0;10,12,19,21]; >> D=diag(4:-1:1);>> D*Aans = 68 4 0 6015 21 42 488 0 26 010 12 19 21>> triu(A)ans =17 1 0 150 7 14 160 0 13 00 0 0 21>> triu(A,1)ans = 0 1 0 150 0 14 160 0 0 00 0 0 0>> B=A'B =17 5 4 101 7 0 120 14 13 1915 16 0 21>> rot90(A)ans =15 16 0 210 14 13 191 7 0 1217 5 4 10>> rot90(A,3)ans =10 4 5 1712 0 7 119 13 14 021 0 16 15>> B=fliplr(A)B = 15 0 1 1716 14 7 50 13 0 421 19 12 10>> B=flipud(A)B = 10 12 19 214 0 13 05 7 14 1617 1 0 15>> A=[4 5 6 9;7 8 9 5;4 5 6 9;7 8 9 5]; >> det(A)ans =0>> rank(A)ans =2>> cond(A)ans =1.0968e+017>> inv(A)Warning: Matrix is singular to working precision.ans = Inf Inf Inf InfInf Inf Inf InfInf Inf Inf InfInf Inf Inf Inf>> A=[4 8 9;8 2 7;6 3 8];>> inv(A)ans = 0.0568 0.4205 -0.43180.2500 0.2500 -0.5000-0.1364 -0.4091 0.6364>> [V,D]=eig(A)V = -0.6438 -0.7444 -0.5061-0.5467 0.6392 -0.5515-0.5354 0.1931 0.6631D = 18.2776 0 00 -5.2030 00 0 0.9254>> [U,S,D]=svd(A)U = -0.6378 0.7375 -0.2220-0.5426 -0.6348 -0.5500-0.5465 -0.2304 0.8051S = 18.9278 0 00 5.2884 00 0 0.8791D = -0.5374 -0.6639 -0.5200-0.4135 0.7449 -0.5236-0.7350 0.0663 0.6749>> [L,U]=lu(A)L = 0.5000 1.0000 01.0000 0 00.7500 0.2143 1.0000U = 8.0000 2.0000 7.00000 7.0000 5.50000 0 1.5714>> [Q,R]=qr(A)Q = -0.3714 0.9114 -0.1774-0.7428 -0.4063 -0.5322-0.5571 -0.0659 0.8278 R =-10.7703 -6.1279 -12.99870 6.2808 4.83140 0 1.3009>> a=1234a = 1234>> class(a)ans =double>> size(a)ans = 1 1>> b='1234'b =1234>> class(b)ans =char>> size(b)ans = 1 4>> 'I am astudent'ans =I am astudent>> a='This is No.2.23 Example!'a =This is No.2.23 Example!>> b=a(1:7)b =This is>> c=a(12:end)c =2.23 Example!>> a='Good';>> b='Noon';>> length(a)==length(b)ans = 1>> c=[a,'',b]c =GoodNoon>> d=[a;b]d =GoodNoon>> size(c)ans = 1 8>> size(d)ans = 2 4>> a='Good Noon';>> b=double(a)b = 71 111 111 100 32 78 111 111 110>> c='再见!'c =再见!>> c='再见!'>> d=double(c)d = 20877 35265 65281>> char(d)ans =再见!>> a='The first string';>> b='The second string';>> c=strcmp(a,b)c =0>> d=strncmp(a,b,4)d =1>> X='A friend in need is a friend indeed'; >> Y='friend';>> a=findstr(Y,X)a = 3 23>> b=strfind(Y,X)b = []>> S=['1 2 3';'2 3 4'];>> A=str2num(S)A = 1 2 32 3 4>> B=str2num('6-8i')B = 6.0000 - 8.0000i>> D=num2str(rand(2,3),6)D =0.950129 0.606843 0.8912990.231139 0.485982 0.762097>> d=189;>> h=dec2hex(d)h =BD>> c=dec2base(d,7)c =360>> b=dec2bin(d)b =10111101>> bin2dec(b)ans = 189>> A={ones(3,3,3),'Welcome';30.34,1:200} A = [3x3x3 double] 'Welcome'[ 30.3400] [1x200 double]>>B=[{ones(3,3,3)},{'Welcome'};{30.34},{1:20 0}]B = [3x3x3 double] 'Welcome'[ 30.3400] [1x200 double]>> C={5}C = [5]>> C(2,3)={7}C = [5] [] [][] [] [7]>> isequal(A,B)ans =1>> A={ones(3,3,3),'Welcome';30.34,1:200}; >> b=A(1,2)b = 'Welcome'>> class(B)ans =cell>> C=A{1,2}C =Welcome>> class Cans =char>> D=A{1,2}(6)D =m>> E=A{2,2}([end:-1:190])E =200 199 198 197 196 195 194 193 192 191 190>> class(E)ans =double>> N=A{3}([1 3 5 7])N =Wloe>> A={ones(3,3,3),'Welcome';30.34,1:200}; >> B=cell(2);>> B(:,1)={char('Good','Morning');1:10}B = [2x7 char ] [][1x10 double] []>> C=[A,B]C = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] []>> D=[A,B;C]D = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] [][3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] []>> D(4,:)=[]D = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] [][3x3x3 double] 'Welcome' [2x7 char ] []>> E=reshape(D,2,3,2)E(:,:,1) = [3x3x3 double] [3x3x3 double] [1x200 double][ 30.3400] 'Welcome' 'Welcome'E(:,:,2) = [2x7 char ] [2x7 char] [][1x10 double] [] []>>A={randn(3,3,2),'Good',pi;29,4+7*i,zeros(4)} A = [3x3x2 double] 'Good' [ 3.1416][ 29] [4.0000+ 7.0000i] [4x4 double]>> B=cellfun('isreal',A)B = 1 1 11 0 1>> C=cellfun('length',A)C = 3 4 11 1 4>> Member.code='09021';>> ='Liu';>> Member.age=22;>> Member.grade=uint16(3);>> MemberMember =code: '09021'name: 'Liu'age: 22grade: 3>> Member(4).name='Wang';>> Member(4).grade=2;>> Member(2)ans = code: []name: []age: []grade: []>>Memebr=struct('code','09021','name','Liu','a ge',22,'grade',uint16(3))Memebr = code: '09021'name: 'Liu'age: 22grade: 3>>Member=struct('code',{'09021','09034'},'name' ,{'Liu','Wamg'},'age',{22,24},'grade',{2,3}) Member = 1x2 struct array with fields:codenameagegrade>>Member=struct('code',{},'name',{},'age',{},'gr ade',{})Member = 0x0 struct array with fields:codenameagegrade>>Member=struct('code',{'09021','09034'},'na me',{'Liu','Wang'},'age',{22,24},'grade',{2,3},' score',{[78 89;90 68],[91 76;89 97]}) Member = 1x2 struct array with fields:codenameagegradescore>> Member(1).scoreans =78 8990 68>> Member(2).score(2,:)ans =89 97>> Member.codeans =09021ans =09034>> Member.('name')ans =Liuans =Wang>> ='Liu';M.ID=1;>> M(2,2).name='Wang';M(2,2).ID=2; >> M2=setfield(M,{2,1},'name','Zhang'); >> ans =Liuans =[]ans = []ans =Wang>> ans =Liuans =Zhangans = []ans =Wang>> fieldnames(M)ans = 'name''ID'>> M3=orderfields(M)M3 = 2x2 struct array with fields:IDname。
matlab实验报告实验二
matlab实验报告实验二Matlab实验报告实验二引言Matlab是一种功能强大的数学软件,广泛应用于科学研究和工程实践中。
在实验二中,我们将探索Matlab的图像处理功能,并通过实际案例来展示其应用。
图像处理基础图像处理是指对图像进行数字化处理的过程,其目的是改善图像质量、提取有用信息或实现特定的应用需求。
在Matlab中,我们可以利用各种函数和工具箱来实现图像处理的各种任务,如图像增强、滤波、分割和特征提取等。
实验步骤1. 图像读取与显示在Matlab中,我们可以使用imread函数读取图像文件,并使用imshow函数将图像显示在屏幕上。
例如,我们可以读取一张名为"lena.jpg"的图像,并显示出来:```matlabimg = imread('lena.jpg');imshow(img);```2. 图像灰度化图像灰度化是将彩色图像转换为灰度图像的过程。
在Matlab中,我们可以使用rgb2gray函数将彩色图像转换为灰度图像。
例如,我们可以将上一步读取的图像转换为灰度图像:```matlabgray_img = rgb2gray(img);imshow(gray_img);```3. 图像二值化图像二值化是将灰度图像转换为二值图像的过程,其中只包含黑色和白色两种颜色。
在Matlab中,我们可以使用imbinarize函数将灰度图像二值化。
例如,我们可以将上一步得到的灰度图像二值化:```matlabbinary_img = imbinarize(gray_img);imshow(binary_img);```4. 图像平滑图像平滑是指去除图像中的噪声或细节,使得图像更加平滑和清晰。
在Matlab 中,我们可以使用imfilter函数对图像进行平滑处理。
例如,我们可以对上一步得到的二值图像进行平滑处理:```matlabsmooth_img = imfilter(binary_img, fspecial('average'));imshow(smooth_img);```5. 图像边缘检测图像边缘检测是指提取图像中物体边缘的过程,常用于目标检测和图像分割。
matlab实验报告
matlab实验报告引言:Matlab(矩阵实验室)是一款功能强大的数值计算和科学计算软件,广泛应用于工程、科学和经济等领域。
本实验报告将探讨我在使用Matlab进行实验过程中的心得体会和实验结果。
实验一:图像处理在这个实验中,我使用Matlab对一张图像进行了处理,并应用了各种图像处理算法。
这包括图像增强、边缘检测和图像分割等技术。
通过Matlab的图像处理工具箱,我能够轻松调用各种算法函数,并对图像进行快速处理。
实验结果表明,Matlab图像处理工具箱提供了丰富的函数和算法,极大地方便了我们的图像处理工作。
实验二:模拟信号处理模拟信号处理是Matlab中的一个重要应用领域。
在这个实验中,我模拟了一个带噪声的正弦信号,并使用Matlab进行了噪声滤波和频谱分析。
通过使用Matlab的滤波函数,我能够有效地去除信号中的噪声,并还原出原始信号。
同时,Matlab提供了功能强大的频谱分析工具,我可以轻松地对信号的频率特性进行分析和可视化。
实验三:数据分析与统计数据分析与统计是Matlab的另一个重要应用领域。
在这个实验中,我使用Matlab对一组实验数据进行了分析和统计。
通过使用Matlab的统计函数和工具,我能够计算出数据的均值、方差、标准差等统计指标,并绘制出数据的直方图和散点图。
这些统计分析结果对我的实验研究提供了有力的支持,并帮助我更好地理解实验数据。
实验四:数值计算与优化数值计算与优化是Matlab的核心功能之一。
在这个实验中,我使用Matlab进行了一组数值计算和优化实验。
通过使用Matlab的数值计算函数和优化工具箱,我能够快速计算出复杂的数学问题,并找到最优解。
同时,在进行优化实验时,我可以设置各种约束条件和目标函数,从而得到最优解的参数值。
这些数值计算和优化工具极大地提高了我的研究效率和准确度。
结论:通过这些实验,我深刻认识到Matlab的强大功能和广泛应用领域。
无论是图像处理、信号处理、数据分析还是数值计算与优化,Matlab都提供了丰富的函数和工具,让我们能够快速高效地完成实验和研究工作。
2021年MATLAB实验报告一西安邮电大学
西安邮电学院《Matlab》实验报告(一)- 年第 1 学期自动化专业:自动0903 班级:学号:姓名:年9月28日MATLAB语言实验项目实验一熟悉MATLAB集成环境与基本运算一、实验目1.熟悉启动和退出MATLAB软件办法、熟悉MATLAB软件运营环境。
2.熟悉MATLAB命令窗口构成。
3.熟悉MATLAB基本操作。
4.掌握建立矩阵办法。
5.掌握MATLAB各种表达式书写规则以及惯用函数使用。
二、实验设备及条件计算机一台(MATLAB Rb软件环境)。
三、实验原理1.MATLAB启动MATLAB系统启动有三种常用办法:1)使用Windows“开始”菜单。
2)运营MATLAB系统启动程序matlab.exe。
3)运用快捷方式。
2.MATLAB系统退出要退出MATLAB系统,也有三种常用办法:1)在MATLAB主窗口File菜单中选取Exit matlab 命令。
2)在MATLAB命令窗口输入Exit或Quit命令。
3)单击MATLAB主窗口“关闭”按钮。
3.MATLAB协助窗口进入协助窗口可以通过如下三种办法:1)单击MATLAB主窗口工具栏中help按钮。
2)在命令窗口中输入helpwin、helpdesk或doc。
3)选取help菜单中“matlab help”选项。
4.MATLAB协助命令1)help命令在MATLAB命令窗口直接输入help命令将会显示当前协助系统中所包括所有项目,即搜索途径中所有目录名称。
同样,可以通过help加函数名来显示该函数协助阐明。
2)lookfor命令help命令只搜索出那些核心字完全匹配成果,lookfor命令对搜索范畴内m 文献进行核心字搜索,条件比较宽松。
3)模糊查询顾客只要输入命令前几种字母,然后按tab键,系统就会列出所有以这几种字母开头命令。
5.赋值语句1)变量=表达式2)表达式6.矩阵建立1)直接输入法:将矩阵元素用方括号括起来,按矩阵行顺序输入各元素,同一行各元素之间用空格或逗号分开,不同行元素之间用分号分开。
西邮生产实习报告
西邮生产实习报告实验一图像输入与输出基本操作一、实验目的学习在MATLAB环境下对图像文件的I/O操作,为读取各种格式的图像文件和后续进行图像处理打下基础。
二、实验内容利用MATLAB为用户提供的专门函数从图像格式的文件中读/写图像数据、显示图像,以及查询图像文件的信息。
(1)利用imread函数完成对图像文件的读取操作;(2)利用imwrite函数完成图像的写入(保存)操作;(3)利用imshow函数显示图像;(4)利用imfinfo函数查询图像文件的有关信息。
三、实验运行结果实验程序:clear all;I=imread('lena.bmp');imshow(I);info=imfinfo('lena.bmp');imwrite(I,'lena.bmp');运行结果:info =Filename: 'lena.bmp'FileModDate: '21-Dec-2010 09:15:00'FileSize: 66614Format: 'bmp'FormatVersion: 'Version 3 (Microsoft Windows 3.x)'Width: 256Height: 256BitDepth: 8ColorType: 'indexed'FormatSignature: 'BM'NumColormapEntries: 256Colormap: [256x3 double]RedMask: []GreenMask: []BlueMask: []ImageDataOffset: 1078BitmapHeaderSize: 40NumPlanes: 1CompressionType: 'none'BitmapSize: 65536HorzResolution: 0VertResolution: 0NumColorsUsed: 256NumImportantColors: 0四、实习中遇到的问题及解决方法图像的输入和输出是MATLAB软件最基本的操作,因而使用起来没有太大困难。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安邮电学院
《Matlab》
实验报告
(二)
2011- 2012 学年第 1 学期
自动化
专业:
自动0903 班级:
学号:
姓名:
2011 年10月15日
实验二 MATLAB 的基本计算
一、实验目的
1.掌握建立矩阵的方法。
2.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
3.能用MATLAB 进行基本的数组、矩阵及符号运算。
4.掌握矩阵分析的方法以及能用矩阵求逆法解线性方程组。
二、实验设备及条件
计算机一台(带有MATLAB6.5或以上版本的软件环境)。
三、实验内容
1.利用diag 等函数产生下列矩阵。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=032570800a ⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡=8040
507
2
b
2.利用reshape 函数将1题中的a 和b 变换成行向量。
3.产生一个均匀分布在(-5,5)之间的随即矩阵(10×2),要求精确到小数点后一位。
4.已知:
⎥⎥⎥⎦⎤⎢⎢⎢
⎣⎡-=765
3877
34434
12A ⎥⎥⎥⎦
⎤
⎢⎢
⎢⎣⎡--=7312
033
2
1
B 求下列表达式的值:
(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 的变化和解的相对变
6.利用randn 函数产生均值为0,方差为1的6×6正态分布随机矩阵C ,然后统计C 中大于-0.3,小于0.3的元素个数t
7.建立一个矩阵A ,找出矩阵中值大于1的元素,并将它们重新排列成行向
量B ,例如⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡-----=21
55
126308
394382510A 。
8.读以下程序,解释指令sprintf、fprintf、sscanf的作用?
>>rand('state',0);
>>a=rand(2,2);
>>s1=num2str(a)
>>s_s=sprintf('%.10e\n',a)
>>fprintf('%.5g\\',a)
>>s_sscan=sscanf(s_s,'%f',[3,2])
sprintf :某个东西输入到内存
fprintf :保存数据
Sscanf:用它可以从字符串中取出整数、浮点数和字符串
实验报告小结:通过本次Matlab实验,增强了动手的能力,知道了使用一些简单的函数,明白了.m文件的建立,以及将数据文件保存到本地的磁盘中,以.mat 文件为后缀。
对Matlab解释执行的方式有了一定的了解,Matlab的高封装性使得它简单易用,成为流行的软件,在多个领域都有广泛的应用,特别是仿真,科学计算的一些领域,Matlab值得深入的学习,在生活中会给我们带来很大的方便。
同时在学习方法上也有了一定的提高,有一些的东西必须自学,在没有老师帮助的情况下,去积极主动地解决问题,发现一些新方法,对未来人生的规划也增强的明确的认识。