Matlab实验报告7
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 的实验一、实验目的通过使用MATLAB 软件,掌握如何进行数据分析、图像处理、算法实现等一系列实验操作,提高实验者的实践能力和动手能力。
二、实验原理MATLAB 是一种在科学计算和技术开发领域广泛应用的计算机软件。
它能进行矩阵计算、绘制函数和数据图像、实现算法以及进行数据分析等。
通过掌握MATLAB 的使用,能够快速、高效地解决各种科学和工程问题。
三、实验内容1. 数据分析:使用MATLAB 的数据分析工具进行数据的导入、处理和分析。
2. 图像处理:利用MATLAB 的图像处理工具包对图像进行滤波、增强、分割等操作。
3. 算法实现:使用MATLAB 实现常用的算法,如排序、搜索、图像压缩等。
四、实验步骤1. 数据分析:(1)使用MATLAB 的读取数据函数将数据导入MATLAB 环境中。
(2)利用MATLAB 的数据处理函数进行数据清洗和预处理。
(3)使用MATLAB 的统计工具进行数据分析,如求平均值、标准差等。
(4)利用MATLAB 的绘图函数将分析结果可视化。
2. 图像处理:(1)使用MATLAB 的读取图像函数将图像导入MATLAB 环境中。
(2)利用MATLAB 的图像处理工具包进行滤波操作,如均值滤波、中值滤波等。
(3)使用MATLAB 的图像增强函数对图像进行锐化、变换等操作。
(4)利用MATLAB 的图像分割算法对图像进行分割。
3. 算法实现:(1)使用MATLAB 编写排序算法,如冒泡排序、快速排序等。
(2)使用MATLAB 编写搜索算法,如二分查找、线性搜索等。
(3)使用MATLAB 实现图像压缩算法,如离散余弦变换(DCT)。
五、实验结果实验中,我们使用MATLAB 完成了数据分析、图像处理和算法实现的一系列实验操作。
通过数据分析,我们成功导入了数据并对其进行了清洗和预处理,最后得到了数据的统计结果。
在图像处理方面,我们对图像进行了滤波、增强和分割等操作,最终得到了处理后的图像。
MATLAB实验报告

MATLAB实验报告一、实验名称实验7程序设计(2)二、实验目的:熟悉和掌握MA TLAB程序编写和调试的常用函数。
三、实验内容:1.input:请求用户输入信息reply = input('请输入一个字符','s');%提示“请输入一个字符”,以字符串形式录入一组字符,存入变量reply中。
2.menu:为用户输入选择菜单t=0:0.1:2*pi; %设定t的范围y1=sin(t); %定义函数类型为sin函数y2=cos(t);y3=y1.*y2;k=menu('菜单','菜单1','菜单2','菜单3');%显示窗口,提示语为“菜单”,内有3个按钮“菜单1”,“菜单2”,“菜单3”。
if k==1plot(t,y1,'r') %若选择按钮1,则画出函数y1的图像,颜色为红色elseif k==2plot(t,y2,'g') %若选择按钮2,则画出函数y2的图像,颜色为绿色elseplot(t,y3,'b') %若选择按钮3,则画出函数y3的图像,颜色为蓝色end3.pause:程序暂停执行pause(5) % 程序暂停执5秒4.global:定义全局变量假设工作空间中已有全局变量a,执行完下述函数后,观看工作空间中的变量有何变化.function z=example9_1()global a;a=5;b=10;z=a+b;变化如下:工作空间中只增加了一个变量ans=15,另外,无论全局变量a的值在执行函数前是多少,执行函数后,全局变量a的值都要变为5。
四、回答问题:本次实验未预留问题五、遇到的问题及解决:思考题1使用函数形式不合适,因而是改用脚本编写程序,问题成功解决。
思考题2由于直接连接数字编写困难,学生经验不足,故而采取对个十百千位分别求和再相加的办法求解,问题成功解决。
MATLAB实验报告(四份!!!)

0380160815880001449451490168779983287916534749293454515731] >> double(x) ans = -33.5325 60.6078 -54.7098 27.3192 实验三 MATLAB 绘图
一 实验环境 计算机 MATLAB 软件 二 实验目的 1. 掌握 MATLAB 的基本绘命令。 2. 掌握运用 MATLAB 绘制一维、二维、三维的图形方法。 3. 给图形加以修饰。 三 预备知识 特殊的二维图形函数有:直方图、柄图、阶梯图、饼图、频数累计柱状 图、极坐标图 四 实验内容和步骤
3.创建一个 3x3 矩阵,并求其转置,逆矩阵。 >> A=magic(3) A= 8 3 4 >> A' ans = 8 1 6 >> inv(A) 3 5 7 4 9 2 1 5 9 6 7 2
ans = 0.1472 -0.0611 -0.0194 -0.1444 0.0222 0.1889 0.0639 0.1056 -0.1028
3. 画出 y=的曲线(x(-5,5)) 。在这曲线上加入相同区间里的 y=的曲线,并且采用绿色折 线标识。 >> x=linspace(-5,5,100); >> y=x.^2; >> plot(x,y) >> hold on >> z=x.^(1/3); >> plot(x,z,'g--')
4. 在同一窗口不同坐标系里分别绘出 y1=sinx,y2=cosx,y3=cinh(x),y4=cosh(x)4 个图形。 >> x=linspace(0,2*pi,30); >> subplot(2,2,1);plot(x,sin(x)); >> subplot(2,2,2);plot(x,cos(x)); >> subplot(2,2,3);plot(x,sinh(x)); >> subplot(2,2,4);plot(x,cosh(x));
程序设计实验报告(matlab)

程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。
实验内容:运用Matlab进行简单的程序设计。
实验方法:基于Matlab环境下的简单程序设计。
实验结果:成功掌握简单的程序设计和Matlab基本编程语法。
实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。
实验内容:在Matlab环境下进行多项式拟合和插值的计算。
实验方法:结合Matlab的插值工具箱,进行相关的计算。
实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。
实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。
实验内容:利用Matlab进行最小二乘法计算。
实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。
实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。
实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。
实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。
实验方法:基于Matlab的ODE工具箱,进行ODE求解。
实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。
总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。
通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
MATLAB实验报告

实验一、Matlab 软件的安装与基本使用一、实验目的和要求:学会MA TLAB 软件的安装方法,熟悉MA TLAB 的工作环境及其基本功能的设置,以及基本指令的使用,了解MA TLAB 数值数组及其矩阵操作的使用、复数的输入方法。
二、实验内容和步骤:1、完成MA TLAB 软件的安装。
2、安装完成后启动MA TLAB 软件,熟悉MA TLAB 的工作环境。
打开MA TLAB 7,默认打开的窗口包括: (1)命令窗口(Command Window); (2)命令历史窗口(Command History); (3)工作间管理窗口(Workspace);(4)当前路径窗口(Current Directory)此外,还有捷径键、编译窗口、图形窗口和帮助窗口等其他种类的窗口,结合课本实例,熟悉每个窗口的功能和基本使用。
3、(1)求23)]47(212[÷-⨯+的运算结果,注意命令后有无分号的作用。
命令及结果如下:t=[12+2*(7-4)]/3^2t = 2(2)求20012x x v t at =++的值,其中t=5s 、010x m =、015/v m s =、29.81/sec a m =-。
命令及结果如下:syms t x0 v0 a; t=5,x0=10,v0=15,a=-9.18; x=x0+v0*t+1/2*a*t^2 t = 5 x0 = 10 v0 = 15 x = -29.7500(3) 设3x =, 4v =,用MA TLAB 命令求下列各式的值:1)22log()x v + 命令及结果如下:syms x v x=3,v=4; log(x^2+v^2)x = 3 ans =3.21892)2(2)x v - 命令及结果如下:syms x vx=3,v=4;f=(sqrt(x-3))/(x-2*v)^2 x = 3 f = 0 3) |sin 2|vx e命令及结果如下: syms x v x=3,v=4;t=abs(2*x)*exp(v) x = 3t = 327.58894、用三种不同的方法输入矩阵1234246836912a ⎛⎫ ⎪= ⎪ ⎪⎝⎭,运行并观察实验结果,矩阵的三种基本输入方法如下:a=[1,2,3,4;3,4,6,8;3,6,9,12] a =1 2 3 4 3 4 6 8 3 6 9 12>> a=[1,2,3,43,4,6,8 3,6,9,12]a =1 2 3 4 3 4 6 8 3 6 9 12>> >>利用M 文件创建 1 2 3 4 3 4 6 8 3 6 9125、输入复数矩阵⎥⎦⎤⎢⎣⎡-+++=i ii i24356223B ,并求其实部、虚部、模和幅角(分别用弧度和角度表示),了解MA TLAB 向量化运算的特点。
matlab仿真实验报告

matlab仿真实验报告Matlab仿真实验报告引言:Matlab是一种广泛应用于科学和工程领域的数值计算软件,它提供了强大的数学和图形处理功能,可用于解决各种实际问题。
本文将通过一个具体的Matlab 仿真实验来展示其在工程领域中的应用。
实验背景:本次实验的目标是通过Matlab仿真分析一个电路的性能。
该电路是一个简单的放大器电路,由一个输入电阻、一个输出电阻和一个放大倍数组成。
我们将通过Matlab对该电路进行仿真,以了解其放大性能。
实验步骤:1. 定义电路参数:首先,我们需要定义电路的各个参数,包括输入电阻、输出电阻和放大倍数。
这些参数将作为Matlab仿真的输入。
2. 构建电路模型:接下来,我们需要在Matlab中构建电路模型。
可以使用电路元件的模型来表示电路的行为,并使用Matlab的电路分析工具进行仿真。
3. 仿真分析:在电路模型构建完成后,我们可以通过Matlab进行仿真分析。
可以通过输入不同的信号波形,观察电路的输出响应,并计算放大倍数。
4. 结果可视化:为了更直观地观察仿真结果,我们可以使用Matlab的图形处理功能将仿真结果可视化。
可以绘制输入信号波形、输出信号波形和放大倍数的变化曲线图。
实验结果:通过仿真分析,我们得到了以下实验结果:1. 输入信号波形与输出信号波形的对比图:通过绘制输入信号波形和输出信号波形的变化曲线,我们可以观察到电路的放大效果。
可以看到输出信号的幅度大于输入信号,说明电路具有放大功能。
2. 放大倍数的计算结果:通过对输出信号和输入信号的幅度进行计算,我们可以得到电路的放大倍数。
通过比较不同输入信号幅度下的输出信号幅度,可以得到放大倍数的变化情况。
讨论与分析:通过对实验结果的讨论和分析,我们可以得出以下结论:1. 电路的放大性能:根据实验结果,我们可以评估电路的放大性能。
通过观察输出信号的幅度和输入信号的幅度之间的比值,可以判断电路的放大效果是否符合设计要求。
Matlab实验报告

实 验 内 容
<设计性实验> 1、对于连续信号 x(t)=1+cos(2πft),其中 f=5kHz,分别以采样频率 fs=6 kHz 和 fs=12kHz 对其 进行采样, (1)分别绘出对应的采样信号。 (2)对信号进行傅里叶变换,绘出对应的曲线。 (3)在 simulink 仿真环境下,设计系统框图,观察信号的频谱成分。 实验源程序: (1)采样 clear all; fs1=6000;fs2=12000;f=5000; dt1=1/fs1;dt2=1/fs2; t=0:0.00001:0.0005;t1=0:dt1:0.005;t2=0:dt2:0.0025; x_t=1+cos(2*pi*f*t); x_t1=1+cos(2*pi*f*t1); x_t2=1+cos(2*pi*f*t2); figure(1) subplot(3,1,1) plot(t,x_t); title('原始信号') subplot(3,1,2) plot(t1,x_t1); title('采样频率 6kHZ 的采样信号') subplot(3,1,3) plot(t2,x_t2); title('采样频率 12kHZ 的采样信号') xlabel('时间/s')
3、lpf 函数 function [t,st]=lpf(f,sf,B); df = f (2) - f (1); T = 1/df; hf = zeros(1,length(f)); bf = [ -floor(B/df):floor(B/df)] + floor(length(f)/2); hf(bf) = 1; yf = hf.*sf; [t,st]=F2T(f,yf); st = real(st);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步骤 8 涉及图柄操作,需要对图形对象进行属性设置,较为复杂。
MATLAB 提供了交互式图形编辑功能,可方便地对图形精细修饰。
plot 等绘图指令的典型调用格式为: plot(t,y,’s’) 。其中 s 是用来指定线型、色彩、
数据点形的选项字符串。S 的合法取值如下所示,格式形如’r+’。如果缺省,此时线型、
三角符,“d”菱形符,“p”五角星符等。
常用的坐标控制指令 axis 使用是最多的,比如 axis([x1 ,x2 ,y1 ,y2]) 可人工设定坐标范
2.熟悉简单的矩阵输入
四、 实验体会及心得
这是我第一次做 Matlab 实验,一打开页面就有很多地方都不明白,因为 页面大部分是英文,由于上课时对 Matlab 操作页面还有一些记忆,感觉还可 以:本次试验是我对 Matlab 这门课有了一定的了解,对矩阵在 Matlab 中的 运用也有了初步的认识。
% 参变量
曲线数据准备
t=linspace(0,3*pi,1000) % 参变量采 用向量
1
先取一个参变量采用向量
另种方
然后计算各坐标数据向量
式
y=f(t);
% 计算相应
的函数
值
选定图形窗及子图位置
缺省时,打开 Figure No.1,或 figure(1)
% 指定 1 号图形窗
2
当前窗,当前子图
Subplot(2,2,3)
Matlab 实验报告
院系名称:信息科学与工程学院 专业班级:通信工程 1303 指导老师:陈科文,支国明,张金焕,周扬 学生姓名: 学号:
目录
实验一 熟悉MATLAB环境....................................................................... 3 实验二 数值数组创建、应用及可视化.................................................7 实验三 字符串数组的使用、简单脚本文件和函数的编写.............. 12 实验四 数据可视化方法....................................................................... 22
% 指定 3 号子图
可用指令指定图形窗号和子图
号
调用二维或三维绘图指令 3 指定好线形、色彩、数据点形
plot(t,y,’r:’) % 用红虚点画二维线 , 画三维可
%plot3 指令,此处略
axis([x1,x2 ,y1,y2 ])
% 平面坐
4 设置轴的范围、坐标分格线
标范围 grid on
% 坐标分
6
colormap, shading, light, material
对三维图形使用)
视点、三度(横、纵、高)比(仅 7
对三维图形使用)
view, aspect
图形的精确修饰(图柄操作)
8
利用对象属性值设置
get, set
利用图形窗工具条进行
打印
% 采用图形窗选项或按键打
图形窗上的直接打印选项或按 印最简捷
三、实验步骤及结果测试
1.
2
3
代码:
x=0:0.0001:pi; y=sin(x).*sin(9*x); y1=sin(x); y2=-sin(x); x1=0:pi/9:pi; y3=0; plot(x,y,x,y1,'r:',x,y2,'r:',x1,y3,'bo'); axis([0,pi,-1,1]);
坐标;
3.编程实现分别用 for 或 while 循环语句计算:
K
63
2i
1 2 22
263
i0
的程序,并给出运行结果。此外,实现一种避免使用循环的的计算程序;
4 .函数文件。
三、实验步骤及结果测试
1.
2.
3.
4.
5.
6.
四、 实验体会及心得
Matlab 作为一个强大的工具,方便快捷,操作高效,我们要熟练利用并 且掌握基本语句输入,一定要注意细节。
说明: plot 和 stem 指令均可以实现离散数据的可视化,但通常 plot 更常用于连 续函数中特殊点的标记;而 stem 广泛运行与数字信号处理中离散点的图示。 用户在运行上面例程时会发现在命令窗口出现警告:Warning: Divide by zero!即警告程序中出现非零数除以 0 的指令。MATLAB 对于这种情况并不中 止程序只是给该项赋值为 inf 以做标记。
实验一
一、实验目的
1 .熟悉 MATLAB 主界面,并学会简单的菜单操作; 2 .学会简单的矩阵输入与信号输入; 3 .掌握部分绘图函数。
二、实验内容及要求
1.用户工作目录和当前目录的建立和设置; 2.熟悉简单的矩阵输入; 3.常用基本命令的使用; 4.基本序列运算;
三、实验步骤及结果测试
1. 用户工作目录和当前目录的建立和设置
实验二
一、 实验目的
1 .掌握二维数组的创建、寻访,区分数组运算与矩阵运算的区别; 2 .掌握标准数组生成函数和数组构造技法; 3 .进一步熟悉 M 脚本文件编写的方法和技巧。
二、实验内容及要求
1.数组的创建和寻访 ; 2.编写如图所示波形的 MATLAB 脚本文件,图中虚线为正弦波,要求它 分别在 1 及 2 处削顶。
法都不能真实地反映原函数。对于二维数据,常用指令仍旧是 plot。对于离散数据,plot 指 令默认处理方法是:自动地把这些离散数据用直线(即采用线性插值)连接,使之成为连续
曲线。对于三维图形的表示,通常有 plot3 等指令。
通常,绘制二维或三维图形的一般步骤如下表所示:
步骤
典型指令
t=0:.001:3*pi; 采用向量
22
三、实验步骤及结果测试
仿照问题
1
中方法找出数组
A
4 3
2 1
0 1
2 3
4
5
中所有绝对值大于
3
的元素。
程序如下图:
运行指令 rand(‘state ’,11),A=rand(3,10000);B=(A>0.5);C=2*B-1; 首先预测( C*C’)/100 的运行结果,然后再在机器上验证。(本方法提供了产生通信等仿 真中常需若干独立的双随机码的方法原型。)
视化。首先我们来看离散数据和离散函数的可视化方法。对于离散实函数
,当
以递增(或递减)次序取值时,根据函数关系可以求得同样数目的 ,当把这两组向量用
直角坐标中的点次序图示时,就实现了离散函数的可视化。当然这种图形上的离散序列所反
映的只是某确定的有限区间内的函数关系,不能表现无限区间上的函数关系。通常我们可以
M 文件 function [y,n]=sigadd(x1,n1,x2,n2) n=(min(n1(1),n2(1)):max(n1(end),n2(end))); y1=zeros(1,length(n)); y2=y1; y1(find((n>=n1(1))&(n<=n1(end))==1))=x1; y2(find((n>=n2(1))&(n<=n2(end))==1))=x2; y=y1+y2; end
色彩、数据点形将由 MATLAB 默认设置确定。plot 进一步的使用可参看帮助文档。
s 可用来指定的线形分别有:“-”实线,“:”虚线,“-.”点划线,“--”双划线。
s 可用来指定的色彩分别有:b-蓝,g-绿,r -红,c-青,y-黄, w-白,k-黑。
s 可用来指定的数据点形有:“.”实心黑点,“+”十字符,“^”朝上三角符,“v”朝下
法。
% 用 plot 实现离散数据可视化
n=0:12;
% 产生一组自变量数据
y=1./abs(n-6);
% 计算相应点的函数值
plot(n,y,'r*','MarkerSize',20) % 用红花标出数据点
grid on
% 画坐标方格
% 用 stem 实现离散数据可视化 n=0:12; y=1./abs(n-6); stem(n,y)
四、 实验体会及心得
在用 matlab 解决绘图问题时候,一定要有自己的想法,利用数学思想再利用
matlab 工具.设置函数图像的具体属性时,要注意语句在程序中的位置,一定要注
意细节,不要因为小错误,导致绘图出错。
Hale Waihona Puke 实验四 数据可视化方法[实验目的] 1 .掌握曲线绘制的基本技法和指令,会使用线形、色彩、数据点标记表现不同数据的特征, 掌握生成和运用标识注释图形。 2 .进一步掌握函数编写及数据可视化方法。 [实验原理] MATLAB 提供了相当强大的可视化指令,通过这些指令,我们可以非常简单地实现数据的可
值,并把这一组“数据点”用点图示。但这些离散的点不能表现函数的连续性。为了进一步
表示离散点之间的函数函数情况,MATLAB 有两种常用处理方法:一是对区间进行更细的分
割,计算更多的点,去近似表现函数的连续变化;或者把两点用直线连接,近似表现两点间
的(一般为非线性的)函数形状。但要注意,倘若自变量的采样点不足够多,则无论哪种方
(2).下面时用图形表示连续调制波形 y sintsin9t,仿照运行,分析表现形
式不同的原因。
clear t1=(0:11)/11*pi; y1=sin(t1).*sin(9*t1); t2=(0:100)/100*pi; y2=sin(t2).*sin(9*t2); subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图(1)'); subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子图(2)'); subplot(2,2,3),plot(t1,y1,t1,y1,'r.') axis([0,pi,-1,1]),title('子图(3)'); subplot(2,2,4),plot(t2,y2) axis([0,pi,-1,1]),title('子图 (4)')