matlab 实验十一

合集下载

Matlab第十一讲--数据的统计分析

Matlab第十一讲--数据的统计分析
icdf 逆累积分布函数(通用函数) y=icdf(name,P,A)
输入:name——概率分布类型、P(概率)——数据向 量、A——分布参数 输出:Y——逆累积分布向量
name同前
计算均值为0,方差为1的正态分布, x = icdf(‘norm',0.1:0.2:0.9,0,1)
Matlab相关命令介绍
Matlab相关命令介绍

mle 系列函数:参数估计
[phat,pci]=mle(‘name’,X,alpha)
load 从matlab数据文件中载入数据
S=load('数据文件名') 如果数据格式是XXXX.mat ,可以直接 load XXXX; 如果文本格式XXXX.txt,也可以用load载入,load 'XXXX.txt'; 另外文本格式也可以通过Import data转换成.mat格式, matlab默认处理.mat格式数据!
name+stat 系列函数:均值与方差函数
数字特征的相关函数
var 方差
1 n 2 2 var( X ) s ( xi X ) n 1 i 1
%若X为向量,则返回向量的样本方差。A为矩阵,返回A的列向 量的样本方差构成的行向量。 std 标准差
n n
1 1 2 2 ( xi X ) 或者 n ( xi X ) n 1 i 1 i 1
Matlab相关命令介绍


name+rnd 系列函数:随机数发生函数 random(‘name’,A1,A2,A3,m,n) %(通用函数)
normrnd(1:6,1./(1:6)) normrnd([1 2 3;4 5 6],0.1,2,3) %mu为均值矩阵 normrnd(10,0.5,[2,3]) %mu为10,sigma为0.5的2 行3列个正态随机数 y=random('norm',2,0.3,3,4) %产生12(3行4列) 个均值为2,标准差为0.3的正态分布随机数

MATLAB实验报告(打印版)

MATLAB实验报告(打印版)

MATLAB实验报告班别:09电气3班姓名:李嘉明学号:200924122301实验一/二 MATLAB的基础操作3.自定义一个变量,然后分别用8种不同的数字显示格式显示查看。

>> a=[1.1,1.2,1.3;1.4,1.5,1.6;1.7,1.8,1.9]a =1.1000 1.2000 1.30001.4000 1.5000 1.60001.7000 1.8000 1.9000>> format long>> aa =1.100000000000000 1.200000000000000 1.3000000000000001.400000000000000 1.500000000000000 1.6000000000000001.700000000000000 1.800000000000000 1.900000000000000>> format short e>> aa =1.1000e+000 1.2000e+000 1.3000e+0001.4000e+000 1.5000e+000 1.6000e+0001.7000e+000 1.8000e+000 1.9000e+000>> format long e>> aa =1.100000000000000e+000 1.200000000000000e+000 1.300000000000000e+0001.400000000000000e+000 1.500000000000000e+000 1.600000000000000e+0001.700000000000000e+000 1.800000000000000e+000 1.900000000000000e+000 >> format hex>> aa =3ff199999999999a 3ff3333333333333 3ff4cccccccccccd3ff6666666666666 3ff8000000000000 3ff999999999999a3ffb333333333333 3ffccccccccccccd 3ffe666666666666>> format +>> aa =+++++++++>> format rat>> aa =11/10 6/5 13/107/5 3/2 8/517/10 9/5 19/10>> format short>> aa =1.1000 1.2000 1.30001.4000 1.5000 1.60001.7000 1.8000 1.90005、己举例比较给矩阵的全行赋值,取出矩阵中某一个或几个元素,然后组成一个新的矩阵。

高等数学:MATLAB实验

高等数学:MATLAB实验
以上两种格式中的x、y都可以是表达式.plot是绘制二维 曲线的基本函数,但在使用 此函数之前,需先定义曲线上每一 点的x及y的坐标.
MATLAB实验
2.fplot绘图命令 fplot绘图命令专门用于绘制一元函数曲线,格式为:
fplot('fun',[a,b]) 用于绘制区间[a,b]上的函数y=fun的图像.
MATLAB实验 【实验内容】
MATLAB实验
由此可知,函数在点x=3处的二阶导数为6,所以f(3)=3为 极小值;函数在点x= 1处的二阶导数为-6,所以f(1)=7为极大值.
MATLAB实验
例12-10 假设某种商品的需求量q 是单价p(单位:元)的函 数q=12000-80p,商 品的总成本C 是需求量q 的函数 C=25000+50q.每单位商品需要纳税2元,试求使销售 利润达 到最大的商品单价和最大利润额.
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验 实验九 用 MATLAB求解二重积分
【实验目的】 熟悉LAB中的int命令,会用int命令求解简单的二重积分.
MATLAB实验
【实验M步A骤T】 由于二重积分可以化成二次积分来进行计算,因此只要
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
MATLAB实验
实验七 应用 MATLAB绘制三维曲线图
【实验目的】 (1)熟悉 MATLAB软件的绘图功能; (2)熟悉常见空间曲线的作图方法.
【实验要求】 (1)掌握 MATLAB中绘图命令plot3和 mesh的使用; (2)会用plot3和 mesh函数绘制出某区间的三维曲线,线型

MATLAB全部实验及答案

MATLAB全部实验及答案

MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤1、命令窗口的简单使用(1)简单矩阵的输入(2)求[12+2×(7-4)]÷32的算术运算结果2、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2?(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式),并将其单下标转换成全下标。

clear,clca=[1 -2 3;4 5 -4;5 -6 7];[x,y]=find(a<0);c=[];for i=1:length(x)c(i,1)=a(x(i),y(i));c(i,2)=x(i);c(i,3)=y(i);c(i,4)=(y(i)-1)*size(a,2)+x(i);endc(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那个是虚数矩阵,后面那个出错(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?a^2= 22 16 1625 26 2326 24 28a.^2=1 4 99 16 425 4 9(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) 转化为列向量(8)使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0方法一:clear,clcdata=[2 8 1 4 6];ir=[1 1 2 3 4 ];jc=[1 3 4 2 1];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;a(9) 写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B3、 已知⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。

实验十一z变换及离散时间系统z域分析分析解析

实验十一z变换及离散时间系统z域分析分析解析

南昌大学实验报告学生姓名: 周倩文 学 号: 6301712010 班级: 通信121班实验类型: ■验证□综合□设计□创新 实验日期: 5月30号 实验成绩:z 变换及离散时间系统的Z 域分析一、目的(1)掌握利用MATLAB 绘制系统零极点图的方法 (2)掌握离散时间系统的零极点分析方法(3)掌握用MATALB 实现离散系统频率特性分析的方法 (4)掌握逆Z 变换概念及MATLAB 实现方法二、离散系统零极点线性时不变离散系统可用线性常系数差分方程描述,即()()N Miji j a y n i b x n j ==-=-∑∑ (8-1)其中()y k 为系统的输出序列,()x k 为输入序列。

将式(8-1)两边进行Z 变换的00()()()()()Mjjj Nii i b zY z B z H z X z A z a z-=-====∑∑ (8-2) 将式(8-2)因式分解后有:11()()()Mjj Nii z q H z Cz p ==-=-∏∏ (8-3)其中C 为常数,(1,2,,)j q j M =为()H z 的M 个零点,(1,2,,)i p i N =为()H z 的N 个极点。

系统函数()H z 的零极点分布完全决定了系统的特性,若某系统函数的零极点已知,则系统函数便可确定下来。

因此,系统函数的零极点分布对离散系统特性的分析具有非常重要意义。

通过对系统函数零极点的分析,可以分析离散系统以下几个方面的特性:● 系统单位样值响应()h n 的时域特性; ● 离散系统的稳定性; ● 离散系统的频率特性;三、离散系统零极点图及零极点分析 1.零极点图的绘制设离散系统的系统函数为()()()B z H z A z =则系统的零极点可用MATLAB 的多项式求根函数roots()来实现,调用格式为:p=roots(A)其中A 为待根求多项式的系数构成的行矩阵,返回向量p 则是包含多项式所有根的列向量。

离散信号时域分析的MATLAB实现

离散信号时域分析的MATLAB实现

实验十一 离散信号时域分析的MATLAB 实现一、实验目的1. 熟悉MATLAB 编程方法、常用语句和可视化绘图技术;2. 掌握序列时域运算的MATLAB 编程方法。

二、实验原理在用MATLAB 表示离散信号并将其可视化时,由于矩阵元素个数是有限的,因此无法表示无限长序列;另外,离散信号无法进行符号运算。

在MATLAB 中,绘制离散序列波形图的专用命令为stem( )。

其格式有:(1)stem(k,f)在图形窗口中,绘制出样值顶部为空心圆的序列f (k)波形图。

(2)stem(k,f ,’fill’)在图形窗口中,绘制出样值顶部为实心圆的序列f (k)波形图。

下面介绍离散序列的MATLAB 表示、基本运算(相加、相乘、平移、反转、尺度变换)、卷积和的实现及其图形显示方法。

1.单位序列δ(k ) 单位序列的定义:⎩⎨⎧≠==0,00,1)(k k k δ下面为绘制δ(k-k 0)波形图的子程序:function impseq(k1,k2,k0) %单位序列δ(k-k0),k0为时移量k=k1:k2; %k1,k2为序列的起止序列号 n=length(k); x=zeros(1,n);x(1,k0-k1+1)=1; %在k0时刻信号赋值为1 stem(k,x,'fill') axis([k1,k2,0,1.1])title('单位序列d(k-k0)')输入如下命令,则可获得单位序列δ(k-3)的波形图,如图11-1所示。

impseq(-1,5,3)图11-12.单位阶跃序列ε(k ) 单位序列的定义:⎩⎨⎧<≥=0,00,1)(k k k ε下面为绘制ε(k-k 0)波形图的MATLAB 子程序。

function stepseq(k1,k2,k0) %单位阶跃序列,k0为时移量 k=k1:k0-1; %k1,k2为序列的起止序列号 kk=length(k);x=zeros(1,kk); %k0前信号赋值为0 stem(k,x,'fill') %绘出k1~k0-1的波形(0值) hold onn=k0:k2; nn=length(n);x=ones(1,nn); %k0后信号赋值为1 stem(n,x,'fill') %绘出k0~k2的波形(1值) hold offaxis([k1,k2,0,1.1]) title('单位阶跃序列')运行如下命令,则可获得单位序列ε(k-3)的波形图,如图11-2所示。

MATLAB实验指导书(共5篇)

MATLAB实验指导书(共5篇)

MATLAB实验指导书(共5篇)第一篇:MATLAB实验指导书MATLAB 实验指导书皖西学院信息工程学院实验一 MATLAB编程环境及简单命令的执行一、实验目的1.熟悉MATLAB编程环境二、实验环境1.计算机2.MATLAB7.0集成环境三、实验说明1.首先应熟悉MATLAB7.0运行环境,正确操作2.实验学时:2学时四、实验内容和步骤1.实验内容(1)命令窗口的使用。

(2)工作空间窗口的使用。

(3)工作目录、搜索路径的设置。

(4)命令历史记录窗口的使用。

(5)帮助系统的使用。

(6)了解各菜单的功能。

2.实验步骤(1)启动MATLAB,熟悉MATLAB的桌面。

(2)进入MATLAB7.0集成环境。

(3)在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。

1)(365-52⨯2-70)÷3 2)>>area=pi*2.5^2 3)已知x=3,y=4,在MATLAB中求z:x2y3 z=2(x-y)4)将下面的矩阵赋值给变量m1,在workspace中察看m1在内存中占用的字节数。

⎡162313⎤⎢511108⎥⎥m1=⎢⎢97612⎥⎢⎥414151⎣⎦执行以下命令>>m1(2 , 3)>>m1(11)>>m1(: , 3)>>m1(2 : 3 , 1 : 3)>>m1(1 ,4)+ m1(2 ,3)+ m1(3 ,2)+ m1(4 ,1)5)执行命令>>helpabs 查看函数abs的用法及用途,计算abs(3 + 4i)6)执行命令>>x=0:0.1:6*pi;>>y=5*sin(x);>>plot(x,y)7)运行MATLAB的演示程序,>>demo,以便对MATLAB有一个总体了解。

五、思考题1、以下变量名是否合法?为什么?(1)x2(2)3col(3)_row (4)for2、求以下变量的值,并在MATLAB中验证。

matlab 实验报告

matlab 实验报告

matlab 实验报告Matlab 实验报告引言:Matlab(Matrix Laboratory)是一种强大的科学计算软件,它为科学家、工程师和研究人员提供了一个强大的计算环境。

本实验报告旨在介绍我对Matlab的实验结果和使用体验,以及对其优点和局限性的思考。

一、Matlab的基本功能和特点Matlab是一种高级编程语言和开发环境,它具有广泛的数学和工程计算功能。

通过Matlab,我可以进行矩阵运算、数值计算、数据可视化、算法开发等一系列操作。

Matlab的语法简洁易懂,可以快速实现复杂的计算任务。

此外,Matlab还提供了大量的工具箱,如信号处理、控制系统、图像处理等,使得各种领域的科学研究和工程应用变得更加便捷。

二、实验结果与应用案例在本次实验中,我选择了一个经典的数值计算问题——求解非线性方程。

通过Matlab的数值计算能力,我可以使用不同的迭代方法来求解方程的根。

在实验中,我使用了牛顿迭代法、二分法和割线法来求解方程。

通过对比这些方法的收敛速度和精度,我得出了不同方法的优缺点。

在实际应用中,Matlab可以广泛应用于信号处理、图像处理、数据分析等领域。

例如,在信号处理中,我可以使用Matlab的信号处理工具箱来进行滤波、频谱分析等操作。

在图像处理中,我可以利用Matlab的图像处理工具箱进行图像增强、边缘检测等操作。

这些应用案例充分展示了Matlab在科学计算和工程应用中的重要性和灵活性。

三、Matlab的优点1. 强大的计算功能:Matlab提供了丰富的数学和工程计算函数,可以高效地进行复杂的计算任务。

2. 简洁的语法:Matlab的语法简洁易懂,使得编程变得更加高效和便捷。

3. 丰富的工具箱:Matlab提供了大量的工具箱,覆盖了各种领域的科学计算和工程应用需求。

4. 可视化能力强:Matlab提供了丰富的绘图函数,可以直观地展示数据和计算结果。

四、Matlab的局限性1. 高昂的价格:Matlab是一款商业软件,其价格较高,对于个人用户而言可能不太容易承受。

matlab实验九、十、十一

matlab实验九、十、十一

相应的矩阵为:rh = [0 1;-1 0]; rv = [1 0;0 -1];这里的 rh 为水平 Roberts 算子,rv 为垂直 Roberts 算子。分别显示处理后的水平边界和垂直边界检测结果;用“欧 几里德距离”和“街区距离”方式计算梯度的模, 并显示检测结果; 对于检测结果进行二值 化处理,并显示处理结果; 提示:先做检测结果的直方图,参考直方图中灰度的分布尝试确定阈值;应反复调节
T=Tnew; i=i+1; end f(R1)=0; f(R2)=1; subplot(122);imshow(f); title('迭代阈值二值化图像');
原始图像 迭代阈值二值化图像
(三)Otsu 法阈值分割 I = imread('lajiao.bmp'); level = graythresh(I); BW = im2bw(I,level); figure, imshow(BW)
1.叙述实验过程; 2.提交实验的原始图像和结果图像。
六、思考题
1. 为什么经彩色直方图均衡后的图像除了对比度会有所增强外,还有色调的变化? 2. 实验内容(3)的假彩色处理方案是否可以有多种?若有,请估计其它方案的可能结 果。 3. 在实验内容(4)中,对于灰度切片处理的图像 head.gif 使用多少级切片比较合适?
七、实验图片
实验十
图像的阈值分割
一、实验目的:
1、进一步了解 MATLAB 关于图像处理的相关指令。 2、掌握图像阈值分割的基本原理和基本方法。 3、能够用所学方法实现图像分割。
二、实验内容
(一) 采用人工选择阈值法编写程序,把图像 blood.bmp 分割为二值图像。尝试不同阈值来 分割图像,比较分割效果,选出最满意的阈值。 (提示: 1.先做图像的直方图,参考直方图中灰度的分布尝试确定阈值;应反 复调节阈值的大小,直至二值化的效果最为满意为止。 2.运算之前要先转化为双精度:I=double(I),运算之后再转化为二 进制数表示:I=uint8(I) 变换式如下:

matlab在控制方面的示例

matlab在控制方面的示例

一、简介MATLAB(Matrix Laboratory)是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

MATLAB被广泛应用于科学和工程领域,特别是在控制系统设计和模拟方面具有重要的作用。

在控制方面,MATLAB提供了丰富的工具和函数,可用于设计、分析和实现各种类型的控制系统,并且提供了许多示例来帮助用户更好地理解控制系统。

二、控制系统的建模和仿真1. 实例一:DC电机控制假设我们希望设计一个用于控制直流电机的系统。

我们可以使用MATLAB来建立直流电机的数学模型,并使用Simulink进行仿真。

通过编写方程或使用Simulink的模块化建模工具,我们可以描述电机的动态行为和控制器的工作原理,从而获得一个完整的控制系统模型。

我们可以通过仿真来评估不同的控制策略,优化系统性能,并进行实验验证。

2. 实例二:PID控制器设计在控制系统中,PID(Proportional-Integral-Derivative)控制器是一种常用的控制器类型。

使用MATLAB中的Control System Toolbox,我们可以设计和调试PID控制器。

我们可以通过输入系统的传递函数或状态空间模型来创建控制系统对象。

可以利用Control System Toolbox提供的自动调整功能,根据系统的要求和性能指标,自动调整PID控制器的参数来实现系统稳定和性能优化。

三、控制系统分析和优化1. 实例三:系统频域分析在设计控制系统时,频域分析是一种重要的方法。

MATLAB提供了许多函数和工具,可用于进行频域分析。

我们可以使用bode函数来绘制系统的频率响应曲线,了解系统的增益和相位裕度,并进行稳定性分析。

MATLAB还提供了工具来进行奈奎斯特图和极点分析等分析方法,帮助用户更好地理解系统的动态特性。

2. 实例四:多目标优化在实际控制系统设计中,通常需要同时满足多个设计指标,例如稳定性、快速响应和抑制干扰等。

matlab实验报告

matlab实验报告

matlab实验报告实验报告:Matlab实验分析1. 实验目的本实验旨在通过Matlab软件完成一系列数值计算和数据分析的任务,包括绘制曲线、解方程、矩阵运算等,以加深对Matlab软件的理解和掌握。

2. 实验内容2.1 绘制函数曲线首先,我们通过在Matlab中输入函数的表达式来绘制函数曲线。

例如,我们可以输入y = sin(x)来绘制正弦函数的曲线。

另外,我们还可以设置曲线的颜色、线型和坐标轴范围等。

2.2 解方程接下来,我们使用Matlab来解方程。

对于一元方程,我们可以使用solve函数来求出方程的解。

例如,我们输入syms x; solve(x^2 - 2*x - 8)来解方程x^2 - 2x - 8 = 0。

而对于多元方程组,我们可以使用solve函数的向量输入形式来求解。

例如,我们输入syms x y; solve(x^2 + y^2 - 1, x - y - 1)来求解方程组x^2 + y^2 - 1 = 0和x - y - 1 = 0的解。

2.3 矩阵运算Matlab也可以进行矩阵运算。

我们可以使用矩阵相乘、相加和取逆等运算。

例如,我们可以输入A = [1 2; 3 4]和B = [5 6;7 8]来定义两个矩阵,然后使用A * B来计算它们的乘积。

3. 实验结果与分析在本实验中,我们成功完成了绘制函数曲线、解方程和矩阵运算等任务。

通过Matlab软件,我们可以快速、准确地进行数值计算和数据分析。

使用Matlab的高级函数和工具箱,我们可以更方便地处理复杂的数值计算和数据分析问题。

4. 实验总结通过本次实验,我们进一步加深了对Matlab软件的理解和掌握。

Matlab提供了丰富的函数库和工具箱,适用于各种不同的数值计算和数据分析任务。

在日常科研和工程实践中,Matlab是一个非常强大和方便的工具,可以帮助我们更高效地完成任务。

软件技术(MATLAB)实验手册

软件技术(MATLAB)实验手册

实验课需要我们干什么?一、实验课前的知识点预习。

二、准备实验课要演练的例题。

三、实验课后的总结。

MA TLAB实验一MA TLAB软件环境一、实验目标1.熟悉MA TLAB软件的运行环境以及界面构成。

2.熟悉MA TLAB环境中命令窗口的基本操作。

3.熟悉变量的相关操作。

4.熟悉MA TLAB中基本运算函数。

二、实验内容及要求1.运行MA TLAB软件,观察MA TLAB的界面组成。

并了解各个部分的功能。

(标题栏+菜单栏+工具栏+命令窗口+历史命令窗口+当前目录窗口+工作空间)。

2.命令窗口主要用于进行MA TLAB的各种命令操作。

在该窗口中,可以运行MA TLAB的指令、函数、表达式以及显示除了图形外的所有运行结果。

3.变量的赋值以及引用。

4.MA TLAB基本运算函数的演练。

三、实验步骤(略)四、训练习题1.书上所有例题和课后习题。

2.ppt上的学生演练习题。

五、测试习题1.x=2;MA TLAB实验二深入学习MA TLAB环境设置一、实验目标1.熟悉MA TLAB软件环境设置(包括搜索路径和工作空间等设置)。

2.熟悉变量的存储与读取操作。

3.熟悉.m文件。

二、实验内容及要求1.查找和设置搜索路径,并且测试。

2.在工作空间中对变量进行各种操作。

3.使用save和load命令存储与读取变量。

4.区分.m文件中的命令文件和函数文件。

三、实验步骤(略)四、训练习题1.如何设置和更改matlab的初始化当前目录?2.演练课本中对应章节的例子。

3.独立完成课堂布置的实验作业:add.m 和diaoyongjiafa.m文件。

4.测试并体验.m文件的两大分类的区别和相似。

发现并解决.m文件中的若干问题(函数文件中是否可以定义多个函数?主函数子函数可以互相调用么?外部函数可以调用子函数么?子函数可以调用其他函数么?)。

五、测试习题1.精度计算的问题。

看如下的代码,分析:x=0;for n=1:82x=x+0.01endx==0.82MA TLAB实验三MA TLAB编程基础一、实验目标2.熟悉MA TLAB三大程序结构。

MATLAB实验报告

MATLAB实验报告

MATLAB实验报告MATLAB实验报告姓名:学号:专业班级:指导⽼师:地点:⽇期:2012.12.17⽬录实验⼋............................................... - 3 -⼀、实验内容...................................... - 3 -⼆.实验结果:.................................... - 3 - 三.实验代码:.................................... - 4 - 实验九............................................... - 5 - 实验⼗⼀............................................. - 7 - ⼀.实验内容...................................... - 7 - ⼆.实验结果...................................... - 7 - 三.实验代码...................................... - 7 - 实验⼗⼆............................................. - 7 - ⼀.实验内容...................................... - 7 - ⼆.实验结果...................................... - 8 - 三.实验代码:................................... - 11 -实验⼋⼀、实验内容2、将100个学⽣5门功课的成绩存⼊矩阵P中,进⾏如下处理:(1)分别求每门课的最⾼分、最低分及相应学⽣序号。

(2)分别求没门功课的平均分和标准⽅差。

matlab 实验报告

matlab 实验报告

matlab 实验报告Matlab实验报告引言:Matlab是一种强大的数值计算和可视化软件,广泛应用于科学、工程和经济等领域。

本实验报告将介绍我在使用Matlab进行实验过程中的一些经验和结果。

实验一:矩阵运算在这个实验中,我使用Matlab进行了矩阵运算。

首先,我创建了一个3x3的矩阵A和一个3x1的矩阵B,并进行了矩阵相乘运算。

通过Matlab的矩阵乘法运算符*,我得到了一个3x1的结果矩阵C。

接着,我对矩阵C进行了转置操作,得到了一个1x3的矩阵D。

最后,我计算了矩阵C和矩阵D的点积,并将结果输出。

实验二:数据可视化在这个实验中,我使用Matlab进行了数据可视化。

我选择了一组实验数据,包括时间和温度两个变量。

首先,我将数据存储在一个矩阵中,并使用Matlab的plot函数将时间和温度之间的关系绘制成曲线图。

接着,我使用Matlab的xlabel、ylabel和title函数添加了横轴、纵轴和标题。

最后,我使用Matlab的legend函数添加了图例,以便更好地理解图表。

实验三:数值积分在这个实验中,我使用Matlab进行了数值积分。

我选择了一个函数f(x)进行积分计算。

首先,我使用Matlab的syms函数定义了符号变量x,并定义了函数f(x)。

接着,我使用Matlab的int函数对函数f(x)进行积分计算,并将结果输出。

为了验证结果的准确性,我还使用了Matlab的diff函数对积分结果进行了求导操作,并与原函数f(x)进行了比较。

实验四:信号处理在这个实验中,我使用Matlab进行了信号处理。

我选择了一个音频文件,并使用Matlab的audioread函数读取了该文件。

接着,我使用Matlab的fft函数对音频信号进行了傅里叶变换,并将结果绘制成频谱图。

为了进一步分析信号的特征,我还使用了Matlab的spectrogram函数绘制了信号的时频图。

通过对信号的频谱和时频图的观察,我可以更好地理解信号的频率和时域特性。

向量、矩阵与行列式

向量、矩阵与行列式

%生成3阶Hilbert矩阵 %生成3阶反Hilbert矩阵
0.5000 0.3333 0.2500 30 -180 180
0.3333 0.2500 0.2000


输入: v=[1 2 3 4 5]; M=vander(v) %生成5阶范德蒙德矩阵 输出为: M =
1 16 81 256 625 1 8 27 64 125 1 4 9 16 25 1 2 【例10】求 D 1 c2 2 c 1 2 d 2 d a2
a b c d
1 a 1 b 1 c 1 d
1 1
的值。
1 1


输入: syms a b c d A=[a^2+(1/a)^2 a 1/a 1;b^2+(1/b)^2 b 1/b 1;c^2+(1/c)^2 c 1/c 1;d^2+(1/d)^2 d 1/d 1]; det(A) 输出为:
11.2 实验内容
11.2.1向量的输入与向量的基本运算


【例1】练习向量的输入, 并求向量的转置。 输入: a1=[1,3,5,7,9] %输入行向量 a2=[1 3 5 7 9] %输入行向量,逗号可以用空格代替 a3=[1;3;5;7;9] %输入列向量 a4=transpose(a1)%或者a4=a1’ 输出为: a1= 1 3 5 7 9 a2= 1 3 5 7 9
2 7 9 2 , 求矩阵A与 3 5 4 1



输入: hilb(3)*invhilb(3) %生成3阶Hilbert矩阵左乘3阶反Hilbert矩阵 输出为: ans = 1 0 0

0 1 0
0 0 1

Matlab实验指导书(1-10完整)

Matlab实验指导书(1-10完整)
三、设计提示
1.初次接触 Matlab 应该注意函数表达式的文本式描述。 2.在使用图形函数计算器 funtool 时,注意观察 1 号和 2 号窗口中函数的图形。
四、实验报告要求
1.针对图形函数计算器 funtool,对每一类型计算记录其中一个图形的曲线。 2.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的
⎪⎪⎨⎪−x12+x11+4
x2 x2
− 7x3 − 7x3
−15x4 + 12 x4
− 6x5 = 294 − x5 = −441
⎪⎩6x1 +11x2 +11x3 − 9x4 −13x5 = 103
3.用网孔电流法求如下电路的各支路电流。
Ia
Ib
Id
Ic
60Ω
20Ω
40Ω
40Ω
50V
10V
40V
流畅。
《Matlab 语言及其在电子信息科学中的应用》实验指导书
许钢 编
3
实验二:M 文件和 Mat 文件操作
一、实验目的
1.定制自己的工作环境。 2.编写简单的 M 文件。 3.保存内存工作区中的变量到.mat 文件。 4.学会只用 Matlab 帮助。
二、实验内容
1.使用 format 命令和 File|Peferences 菜单定制自己的工作环境。 2.编写如下 M 文件,试调整参数 a 的大小,观察并记录 y1、y2 的波形特征。
《Matlab 语言及其在电子信息科学中的应用》实验指导书
许钢 编
4.用结点电压法求如下电路的结点电压 un1、un2。
① + u2 - ②
2kΩ
10A

matlab实验报告

matlab实验报告

matlab实验报告引言:Matlab(矩阵实验室)是一款功能强大的数值计算和科学计算软件,广泛应用于工程、科学和经济等领域。

本实验报告将探讨我在使用Matlab进行实验过程中的心得体会和实验结果。

实验一:图像处理在这个实验中,我使用Matlab对一张图像进行了处理,并应用了各种图像处理算法。

这包括图像增强、边缘检测和图像分割等技术。

通过Matlab的图像处理工具箱,我能够轻松调用各种算法函数,并对图像进行快速处理。

实验结果表明,Matlab图像处理工具箱提供了丰富的函数和算法,极大地方便了我们的图像处理工作。

实验二:模拟信号处理模拟信号处理是Matlab中的一个重要应用领域。

在这个实验中,我模拟了一个带噪声的正弦信号,并使用Matlab进行了噪声滤波和频谱分析。

通过使用Matlab的滤波函数,我能够有效地去除信号中的噪声,并还原出原始信号。

同时,Matlab提供了功能强大的频谱分析工具,我可以轻松地对信号的频率特性进行分析和可视化。

实验三:数据分析与统计数据分析与统计是Matlab的另一个重要应用领域。

在这个实验中,我使用Matlab对一组实验数据进行了分析和统计。

通过使用Matlab的统计函数和工具,我能够计算出数据的均值、方差、标准差等统计指标,并绘制出数据的直方图和散点图。

这些统计分析结果对我的实验研究提供了有力的支持,并帮助我更好地理解实验数据。

实验四:数值计算与优化数值计算与优化是Matlab的核心功能之一。

在这个实验中,我使用Matlab进行了一组数值计算和优化实验。

通过使用Matlab的数值计算函数和优化工具箱,我能够快速计算出复杂的数学问题,并找到最优解。

同时,在进行优化实验时,我可以设置各种约束条件和目标函数,从而得到最优解的参数值。

这些数值计算和优化工具极大地提高了我的研究效率和准确度。

结论:通过这些实验,我深刻认识到Matlab的强大功能和广泛应用领域。

无论是图像处理、信号处理、数据分析还是数值计算与优化,Matlab都提供了丰富的函数和工具,让我们能够快速高效地完成实验和研究工作。

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

实验十一微分方程(组)的解一、实验目的对微分方程(组)的解析解法(精确解),Matlab 有专门的函数可以用,本实验将作一定的介绍.本实验将主要研究微分方程(组)的数值解法(近似解),重点介绍Euler 折线法.二、实验原理1.dsolve('equ1','equ2',…):Matlab 求微分方程的解析解.equ1、equ2、…为方程(或条件).写方程(或条件)时用Dy 表示y 关于自变量的一阶导数,用用D2y 表示y 关于自变量的二阶导数,依此类推.2.simplify(s):对表达式s 使用maple 的化简规则进行化简.例如:syms xsimplify(sin(x)^2 + cos(x)^2)ans=13.[r,how]=simple(s):由于Matlab 提供了多种化简规则,simple 命令就是对表达式s 用各种规则进行化简,然后用r 返回最简形式,how 返回形成这种形式所用的规则.例如:syms x[r,how]=simple(cos(x)^2-sin(x)^2)r = cos(2*x) how = combine4.[T,Y] = solver(odefun,tspan,y 0) 求微分方程的数值解. 说明:(1) 其中的 solver 为命令 ode45、ode23、ode113、ode15s 、ode23s 、ode23t 、ode23tb 之一.(2) odefun 是显式常微分方程:⎪⎩⎪⎨⎧==00)(),(y t y y t f dt dy(3) 在积分区间 tspan =],[0f t t 上,从0t 到f t ,用初始条件0y 求解. (4) 要获得问题在其他指定时间点 ,210,,t t t 上的解,则令 tspan = ],,,[,210f t t t t (要求是单调的). (5) 因为没有一种算法可以有效地解决所有的 ODE 问题,为此,Matlab 提供了多种求解器 Solver ,对于不同的ODE 问题,采用不同的Solver .(6) 要特别的是:ode23、ode45 是极其常用的用来求解非刚性的标准形式的一阶常微分方程(组)的初值问题的解的Matlab 的常用程序,其中:ode23 采用龙格-库塔2 阶算法,用3 阶公式作误差估计来调节步长,具有低等的精度.ode45 则采用龙格-库塔4 阶算法,用5 阶公式作误差估计来调节步长,具有中等的精度.5.ezplot(x,y,[tmin,tmax]):符号函数的作图命令.x,y 为关于参数t 的符号函数,[tmin,tmax] 为t 的取值范围.6.inline():建立一个内联函数.格式:inline('expr', 'var1', 'var2',…) ,注意括号里的表达式要加引号.例:Q = dblquad(inline('y*sin(x)'), pi, 2*pi, 0, pi)例子:1. 几个可以直接用 Matlab 求微分方程精确解的例子: 例1:求解微分方程22x xe xy dxdy-=+,并加以验证. 求解本问题的Matlab 程序为:syms x y %line1 y=dsolve('Dy+2*x*y=x*exp(-x^2)','x') %line2 diff(y,x)+2*x*y-x*exp(-x^2) %line3 simplify(diff(y,x)+2*x*y-x*exp(-x^2)) %line4 说明:(1) 行line1是用命令定义x,y 为符号变量.这里可以不写,但为确保正确性,建议写上;(2) 行line2是用命令求出的微分方程的解:1/2*exp(-x^2)*x^2+exp(-x^2)*C1(3) 行line3使用所求得的解.这里是将解代入原微分方程,结果应该为0,但这里给出:-x^3*exp(-x^2)-2*x*exp(-x^2)*C1+2*x*(1/2*exp(-x^2)*x^2+exp(-x^2)*C1)(4) 行line4 用 simplify() 函数对上式进行化简,结果为 0, 表明)(x y y =的确是微分方程的解.例2:求微分方程0'=-+x e y xy 在初始条件e y 2)1(=下的特解,并画出解函数的图形.求解本问题的 Matlab 程序为:syms x yy=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x') ezplot(y)微分方程的特解为:y=1/x*exp(x)+1/x* exp (1) (Matlab 格式),即xe e y x +=,解函数的图形如图 1:图1例3:求微分方程组⎪⎪⎩⎪⎪⎨⎧=--=++035y x dtdy e y x dtdx t在初始条件0|,1|00====t t y x 下的特解,并画出解函数的图形.求解本问题的 Matlab 程序为: syms x y t[x,y]=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0','x(0)=1','y(0)=0','t') simple(x); simple(y);ezplot(x,y,[0,1.3]);axis auto微分方程的特解(式子特别长)以及解函数的图形均略.2. 用ode23、ode45等求解非刚性的标准形式的一阶常微分方程(组)的初值问题的数值解(近似解).例4:求解微分方程初值问题⎪⎩⎪⎨⎧=++-=1)0(2222y xx y dx dy 的数值解,求解范围为区间[0, 0.5].fun=inline('-2*y+2*x^2+2*x','x','y'); [x,y]=ode23(fun,[0,0.5],1); x'; y';plot(x,y,'o-') >> x' ans =0.0000 0.0400 0.0900 0.1400 0.1900 0.2400 0.2900 0.3400 0.3900 0.4400 0.4900 0.5000 >> y' ans =1.0000 0.9247 0.8434 0.7754 0.7199 0.6764 0.6440 0.6222 0.6105 0.6084 0.6154 0.6179 图形结果为图 2.图2例 5:求解描述振荡器的经典的 Ver der Pol 微分方程.7,0)0(',1)0(,0)1(222====+--μμy y y dt dy y dty d 分析:令,,121dt dx x y x ==则.)1(,1221221x x x dtdx x dt dx --==μ 先编写函数文件verderpol.m : function xprime = verderpol(t,x) global mu;xprime = [x(2);mu*(1-x(1)^2)*x(2)-x(1)]; 再编写命令文件vdp1.m : global mu; mu = 7; y0=[1;0][t,x] = ode45('verderpol',[0,40],y0); x1=x(:,1);x2=x(:,2);plot(t,x1) 图形结果为图3.图33. 用 Euler 折线法求解前面讲到过,能够求解的微分方程也是十分有限的.下面介绍用 Euler 折线法求微分方程的数值解(近似解)的方法.Euler 折线法求解的基本思想是将微分方程初值问题⎪⎩⎪⎨⎧==00)(),,(y x y y x f dxdy化成一个代数方程,即差分方程,主要步骤是用差商h x y h x y )()(-+替代微商dxdy,于是:⎪⎩⎪⎨⎧==-+)()),(,()()(00x y y x y x f h x y h x y k k k k 记)(,1k k k k x y y h x x =+=+,从而)(1h x y y k k +=+,则有1,,2,1,0).,(,),(1100-=⎪⎩⎪⎨⎧+=+==++n k y x hf y y h x x x y y k k k k k k例 6:用 Euler 折线法求解微分方程初值问题⎪⎩⎪⎨⎧=+=1)0(,22y y x y dxdy 的数值解(步长h 取0.4),求解范围为区间[0,2].解:本问题的差分方程为1,,2,1,0).2),( ),(,,4.0,1,021100-=⎪⎪⎪⎩⎪⎪⎪⎨⎧+=+=+====++n k y x y y x f y x hf y y h x x h y x k k k k k k (其中: 相应的Matlab 程序见附录 1.数据结果为: 0 1.0000 0.4000 1.4000 0.8000 2.1233 1.2000 3.1145 1.6000 4.4593 2.0000 6.3074图形结果见图4:图4特别说明:本问题可进一步利用四阶 Runge-Kutta 法求解,读者可将两个结果在一个图中显示,并和精确值比较,看看哪个更“精确”?(相应的 Matlab 程序参见附录 2).三、实验内容1. 求微分方程0sin 2')1(2=-+-x xy y x 的通解. >>syms x y>>y=dsolve(‘(x^2-1)*Dy+2*x*y-sin(x)=0’,’x ’) y= (-cos(x)+C1)/(x^2-1) >> pretty(y)-cos(x) + C1 ------------ 2 x - 1 2. 求微分方程x e y y y x sin 5'2''=+-的通解.>>syms x y>>y=dsolve(‘D2y-2*Dy+5*y=exp(x)*sin(x)’,’x ’)>>y=pretty(simple(y))1/3 exp(x) (3 sin(2 x) C2 + 3 cos(2 x) C1 + sin(x))3. 求微分方程组⎪⎪⎩⎪⎪⎨⎧=-+=++00y x dtdy y x dt dx 在初始条件0|,1|00====t t y x 下的特解,并画出解函数()y f x =的图形. >> syms x y t>> [x,y]=dsolve('Dx+x+y=0','Dy+x-y=0','x(0)=1','y(0)=0','t')x =(1/2-1/4*2^(1/2))*exp(2^(1/2)*t)+(1/2+1/4*2^(1/2))*exp(-2^(1/2)*t)y =-(1/2-1/4*2^(1/2))*2^(1/2)*exp(2^(1/2)*t)+(1/2+1/4*2^(1/2))*2^(1/2)*exp(-2^(1/2)*t)-(1/2-1/4*2^(1/2))*exp(2^(1/2)*t)-(1/2+1/4*2^(1/2))*exp(-2^(1/2)*t)>> ezplot(x,y,[-1,1])>> axis auto>> 4. 分别用ode23、ode45 求上述第3 题中的微分方程初值问题的数值解(近似解),求解区间为[0,2]t .利用画图来比较两种求解器之间的差异.%定义函数%function dxdt=fun114ode4(t,x)dxdt=zeros(2,1);dxdt=[-x(1)-x(2);x(2)-x(1);];////////>>clc>>x0=[1,0];>> [t,x]=ode45('fun114ode4',[0,2],x0);>> subplot(2,2,1)>> plot(t,x(:,1));>> xlabel('t')>> ylabel('x')>> subplot(2,2,2);>> plot(t,x(:,2));>> xlabel('t');>> ylabel('y');>> subplot(2,2,3);>> plot3(t,x(:,1),x(:,2),'r--');>> xlabel('t0=0 tt=2');>> ylabel('x');>> zlabel('y');>> [t1,x1]=ode23('fun114ode4',[0,2],x0); >> [t,x]=ode45('fun114ode4',[0,2],x0); >> subplot(2,2,1)plot(t,x(:,1),t1,x1(:,1));xlabel('t')ylabel('x')subplot(2,2,2);plot(t,x(:,2),t1,x1(:,2));xlabel('t');ylabel('y');subplot(2,2,3);plot3(t,x(:,1),x(:,2),t1,x1(:,1),x1(:,2));xlabel('t0=0 tt=2');ylabel('x');zlabel('y');5. 用 Euler 折线法求解微分方程初值问题⎪⎩⎪⎨⎧=-=1)0(,12'32y y x y y 的数值解(步长h 取0.1),求解范围为区间[0,2].>> h=0.1;>> y(1)=1.1;>> x=0.1:h:2;>> for n=1:19xn=x(n);yn=y(n);y(n+1)=yn+h*(yn-12*xn^2/yn^3);end>> x=[0,x];>> y=[1,y]; >> plot(x,y,'o-')6. 用四阶 Runge-Kutta 法求解微分方程初值问题⎩⎨⎧=-=1)0(,cos 'y x e y y x 的数值解(步长h 取0.1),求解范围为区间[0,3].四阶 Runge-Kutta 法的迭代公式为(Euler 折线法实为一阶 Runge-Kutta 法):1,,2,1,0),()2,2()2,2(),()22(6,),(342312143211100-=⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧++=++=++==++++=+==++n k hL y h x f L L h y h x f L L h y h x f L y x f L L L L L h y y h x x x y y k k k k k k k k k k k k 相应的 Matlab 程序参见附录 2.试用该方法求解第5题中的初值问题. >> h=0.1;>> y(1)=1.1;>> f=sym('y-12*x^2/y^3');>> x(1)=0.1;>>for i=1:19I1=subs(f,{'x','y'},{x(i),y(i)});I2=subs(f,{'x','y'},{x(i)+h/2,y(i)+h/2*I1});I3=subs(f,{'x','y'},{x(i)+h/2,y(i)+h/2*I2});I4=subs(f,{'x','y'},{x(i)+h,y(i)+I3*h});y(i+1)=y(i)+h*(I1+2*I2+2*I3+I4)/6;end>> x=[0,x];>> y=[1,y];>> plot(x,y,'o--')7. 用ode45 方法求上述第6 题的常微分方程初值问题的数值解(近似解),从而利用画图来比较两者间的差异.>>edit%%函数定义function dy=fun117ode7(x,y)dy=y-12*x^2/y^3;/////y0=1;[x,y]=ode45(‘fun117ode7’,[0,2],y0);>> plot(x,y,'x-')8、分别用ode45和ode15s 求解微分方程的数值解,并进行比较 ⎩⎨⎧=-===-+1)1('',1)1(',0)1(3'4'''''223y y y x xy y x y x %%定义函数%%function dy=fun118ode8(x,y)dy=[y(2);y(3);(3*x^2+4*x*y(2)-x^2*y(3))/x^3;];//////>> x0=[0,-1,1];>> [x,y]=ode45('fun118ode8',[1,4],x0);>>[x1,y1]=ode15s('fun118ode8',[1,4],x0);>> plot(x,y(:,1),x1,y1(:,1))五、附录附录1:(fulu1.m)clearf=sym('y+2*x/y^2');a=0;b=2;h=0.4;n=(b-a)/h+1;x=0;y=1;szj=[x,y];for i=1:n-1y=y+h*subs(f,{'x','y'},{x,y});x=x+h;szj=[szj;x,y];endszjplot(szj(:,1),szj(:,2))附录2:(fulu2.m)clearf=sym('y-exp(x)*cos(x)');a=0;b=3;h=0.1;n=(b-a)/h+1;x=0;y=1;szj=[x,y];for i=1:n-1l1=subs(f,{'x','y'},{x,y});l2=subs(f,{'x','y'},{x+h/2,y+l1*h/2});l3=subs(f,{'x','y'},{x+h/2,y+l2*h/2});l4=subs(f,{'x','y'},{x+h,y+l3*h});y=y+h*(l1+2*l2+2*l3+l4)/6;x=x+h;szj=[szj;x,y];endszjplot(szj(:,1),szj(:,2))92。

相关文档
最新文档