matlab经典教程 第八讲 概率与频率
- 格式:ppt
- 大小:895.50 KB
- 文档页数:12
第8章M a t l a b在概率统计中的应用概率论与数理统计是研究和应用随机现象统计规律性的一门数学科学。
其应用十分广泛,几乎遍及所有科学领域、工农业生产和国民经济各部门。
本章将利用Matlab 来解决概率统计学中的概率分布、数字特征、参数估计以及假设检验等问题。
8.1数据分析8.1.1几种均值在给定的一组数据中,要进行各种均值的计算,在Matlab 中可由以下函数实现。
mean 算术平均值函数。
对于向量X,mean (X) 得到它的元素的算术平均值;对于矩阵,mean (X)得到X 各列元素的算术平均值,返回一个行向量。
nanmean 求忽略NaN 的随机变量的算术平均值。
geomean 求随机变量的几何平均值。
harmmean 求随机变量的和谐平均值。
trimmean 求随机变量的调和平均值。
8.1.2数据比较在给定的一组数据中,还常要对它们进行最大、最小、中值的查找或对它们排序等操作。
Mtalab 中也有这样的功能函数。
max 求随机变量的最大值元素。
nanmax 求随机变量的忽略NaN 的最大值元素。
min 求随机变量的最小值元素。
nanmin 求随机变量的忽略NaN 的最小值元素。
median 求随机变量的中值。
nanmedian 求随机变量的忽略NaN 的中值。
mad 求随机变量的绝对差分平均值。
sort 对随机变量由小到大排序。
sortrows 对随机矩阵按首行进行排序。
range 求随机变量的值的范围,即最大值与最小值的差(极差)。
8.1.3累和与累积求向量或矩阵的元素累和或累积运算是比较常用的两类运算,在Matlab 中可由以下函数实现。
sum 若X 为向量,sum (X)为X 中各元素之和,返回一个数值;若X 为矩阵,sum (X)为X 中各列元素之和,返回一个行向量。
nansum 忽略NaN 求向量或矩阵元素的累和。
cumsum 求当前元素与所有前面位置的元素和。
返回与X 同维的向量或矩阵。
在论坛上经常遇到这样的问题:如何统计一个数组中各数字(元素)出现的频数、频率和累积频率?这里以案例形式做一个总结。
第一种方法:调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数、频率【例1】统计数值型数组中各元素出现的频数、频率。
>> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 26 0 47 2 58 3 1 3 2 5 3 6 2 3 54 3 1 4 2 2 2 3 15 26 3 4 1 2 5];>> tabulate(x(:))Value Count Percent0 1 1.96%1 4 7.84%2 14 27.45%3 10 19.61%4 10 19.61%5 6 11.76%6 4 7.84%7 1 1.96%8 1 1.96%复制代码【例2】统计字符串中各字符出现的频数、频率。
>> x = ['If x is a numeric array, TABLE is a numeric matrix.']';>> tabulate(x)Value Count PercentI 1 2.44%f 1 2.44%x 2 4.88%i 5 12.20%s 2 4.88%a 5 12.20%n 2 4.88%u 2 4.88%m 3 7.32%e 2 4.88%r 5 12.20%c 2 4.88%y 1 2.44%, 1 2.44%T 1 2.44%A 1 2.44%B 1 2.44%L 1 2.44%E 1 2.44%t 1 2.44%. 1 2.44%复制代码【例3】统计字符型数组中各行元素出现的频数、频率。
>> x = ['崔家峰';'孙乃喆';'安立群';'王洪武';'王玉杰';'高纯静';'崔家峰';'叶鹏';'关泽满';'谢中华';'王**';'孙乃喆';'崔家峰';'谢中华']; >> tabulate(x)Value Count Percent孙乃喆 2 14.29%安立群 1 7.14%王洪武 1 7.14%王玉杰 1 7.14%高纯静 1 7.14%叶鹏 1 7.14%关泽满 1 7.14%谢中华 2 14.29%王** 1 7.14%复制代码【例4】统计字符串元胞数组中各字符串出现的频数、频率。
MATLAB概率统计1. 概述概率统计是数学中的一个重要分支,用于研究随机现象的规律性和不确定性。
MATLAB作为一种强大的数值计算和数据可视化工具,提供了丰富的函数和工具箱,使得概率统计分析变得简单而高效。
本文将介绍MATLAB中常用的概率统计函数和方法,并结合实例进行详细说明。
2. 概率分布2.1 常见概率分布函数在概率统计中,常见的概率分布函数有正态分布、均匀分布、二项分布等。
MATLAB 提供了相应的函数来生成这些概率分布。
•正态分布:normrnd函数用于生成服从正态分布的随机数。
x = normrnd(mu, sigma, [m, n]);其中,mu表示均值,sigma表示标准差,[m, n]表示生成随机数矩阵的大小。
•均匀分布:unifrnd函数用于生成服从均匀分布的随机数。
x = unifrnd(a, b, [m, n]);其中,a和b表示均匀分布区间的上下界。
•二项分布:binornd函数用于生成服从二项分布的随机数。
x = binornd(n, p, [m, n]);其中,n表示试验次数,p表示成功的概率。
2.2 概率密度函数和累积分布函数除了生成随机数,MATLAB还提供了计算概率密度函数(PDF)和累积分布函数(CDF)的函数。
•概率密度函数:对于连续型随机变量,可以使用normpdf、unifpdf等函数计算其概率密度函数值。
y = normpdf(x, mu, sigma);其中,x表示自变量的取值,mu和sigma表示正态分布的均值和标准差。
•累积分布函数:使用normcdf、unifcdf等函数可以计算连续型随机变量的累积分布函数值。
y = normcdf(x, mu, sigma);其中,参数的含义同上。
对于离散型随机变量,可以使用相应的离散型概率分布函数来计算其概率质量函数(PMF)和累积分布函数(CDF)。
3. 统计描述3.1 均值与方差均值和方差是统计学中常用的描述统计量,MATLAB提供了相应的函数来计算均值和方差。
matlab频率分布拟合曲线在Matlab中,频率分布拟合曲线是通过对数据进行统计分析,并使用合适的分布函数进行拟合来描述数据的分布情况。
频率分布拟合曲线被广泛应用于统计学、概率论、财务分析、市场研究和其他领域的数据分析中。
首先,我们需要准备一组数据,以便进行频率分布拟合曲线的演示。
我们可以使用Matlab内置的示例数据,如房价、气温等,也可以使用我们自己的数据。
在这个例子中,我们使用一个虚构的销售数据集来讨论频率分布的拟合曲线。
首先,我们需要加载数据。
假设我们有一个名为“sales”的变量,其中包含了销售数据。
我们可以使用`load()`函数将数据加载到工作空间中,如下所示:```matlabload('sales.mat') %将数据加载到工作空间中```接下来,我们可以使用`histogram()`函数绘制数据的直方图,以查看数据的频率分布情况。
直方图是一种表示数据分布情况的图表,将数据划分为多个区间(称为“柱”),每个区间的高度表示该区间中数据的频率。
```matlabhistogram(sales) %绘制销售数据的直方图```直方图显示了数据的分布情况,但是我们通常会希望使用一条曲线来近似描述数据的分布情况。
这就是频率分布拟合曲线的作用。
在Matlab中,我们可以使用`fitdist()`函数拟合数据的频率分布曲线。
`fitdist()`函数需要指定数据和拟合分布的类型作为输入参数,并返回拟合后的参数值。
以下是一个示例:```matlabpd = fitdist(sales, 'Normal') %拟合销售数据的正态分布曲线```在上面的示例中,我们拟合了销售数据的正态分布曲线,并将拟合结果存储在名为“pd”的变量中。
我们可以使用`pd`来获取拟合曲线的参数,并进行后续分析。
接下来,我们可以使用`pdf()`函数绘制拟合曲线。
`pdf()`函数可以根据给定的分布参数,在指定的范围内生成拟合曲线上的概率密度值。
西南科技大学本科生课程备课教案计算机技术在安全工程中的应用---- Matlab入门及应用授课教师:徐中慧班级:专业:安全技术及工程第八章绘图课型:新授课教具:多媒体教学设备,matlab教学软件一、目标与要求掌握matlab中二维绘图、三维绘图、子图等相关图形绘制功能。
二、教学重点与难点本堂课教学的重点在于引导学生在编写matlab程序时能够熟练运用绘图的相关函数实现相应的功能。
三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。
四、教学内容课后习题讲解(1)用switch/case,menu结构编写程序求解下列问题:提示用户输入入学时间是一年、二年、三年还是四年,输入数据是字符串。
根据输入数据决定期末考试的时间。
其中,一年级周一考试,二年级周二考试,三年级周三考试,四年级周四考试。
Input=menu('Enter a value for your grade',‘one year','two years','three years','four years'); switch In put case 1disp('Mo nday')case 2disp('Tuesday')case 3disp('Wed nesday')case 4disp('Thursday')end(2)编写程序,提示用户输入购买方糖的数量,输入数据是糖的块数。
计算购买方糖的费用。
价格确定方法是:1块=$0.75;2块=1.25; 3块=1.65。
当多于3块时,总费用=$1.65+$0.30*(购买数量-3)。
sugar =input( 'Enter a value for quantityof sugar\n');switch sugarcase 1fprintf( '%3.0f lump sugar costs $0.75\n' ,sugar)case 2fprintf( '%3.0f lump sugar cost $1.25\n' ,sugar)case 3fprintf( '%3.0f lump sugar cost $1.65\n' ,sugar) otherwiseoutput=1.65+0.3*(sugar-3);fprintf( '%3.0f lump sugars cost $%4.2f\n' ,sugar,output)end3)用 for 循环结构求矢量元素的和,已知矢量 x 等于x=[1 23 43 72 87 56 98 33]用函数 sum 检查计算结果,并用 while 重写一遍程序。
Matlab中的时间频率分析技术详解引言时间频率分析是一种在信号处理和数据分析中常用的技术,可以帮助我们深入理解信号的动态特性。
在Matlab中,有多种方法可以用于时间频率分析,本文将详细解析其中常用的四种方法:短时傅里叶变换(STFT),连续小波变换(CWT),快速海尔变换(FHT)和Hilbert Huang变换(HHT)。
一、短时傅里叶变换(STFT)短时傅里叶变换(STFT)是最常用的时间频率分析方法之一。
它将信号分成多个小片段,然后对每个片段进行傅里叶变换。
通过将这些局部频率分量叠加在一起,我们可以得到信号在时间和频率上的分布图。
在Matlab中,可以使用stft函数来实现STFT。
首先,我们需要加载一个信号并绘制其时域波形。
然后,我们可以使用stft函数计算STFT,并绘制相应的时间频率图。
通过调整窗口长度和窗口类型等参数,我们可以改变所得到的时间频率表示的分辨率和准确性。
二、连续小波变换(CWT)连续小波变换(CWT)是一种基于小波变换的时间频率分析方法。
与STFT相比,CWT更加灵活,可以提供不同尺度(频率)上的时间分辨率。
在Matlab中,可以使用cwt函数来实现CWT。
与STFT类似,我们首先加载一个信号并绘制其时域波形。
然后,我们可以使用cwt函数计算CWT,并绘制相应的时间频率图。
通过选择不同的小波基函数和尺度参数,我们可以调整CWT的分辨率和准确性。
三、快速海尔变换(FHT)快速海尔变换(FHT)是一种通过迭代计算来实现快速傅里叶变换(FFT)的算法。
与STFT和CWT不同,FHT是一种非局部的时间频率分析方法,可以提供信号在整个时间和频率范围内的表示。
在Matlab中,可以使用fht函数来实现FHT。
同样,我们首先加载一个信号并绘制其时域波形。
然后,我们可以使用fht函数计算FHT,并绘制相应的时间频率图。
FHT的优点在于它能够处理非平稳和非周期信号,并提供较高的分辨率和准确性。