matlab关于audioread函数输入参数过多?

1、用audioread('');函数读取电脑中的音频文件,参数是音频文件的路径: [sampledata,FS] = audioread('F:1.mp3'); sampledata保存音频信号数据,FS是音频采样率,MP3格式的采样率一般为44100; 2、判断音频数据是否是双声道

matlabaudioread函数 matlab中read函数matlabaudioread函数 matlab中read函数


matlabaudioread函数 matlab中read函数


matlab中没有audioread函数

matlab中没有audioread函数的原因是版本更新。新版本的matlab中已经不再支持wread()函数,替代函数为audioread(filename,N),其中N必须为[m,n]格式,如[2,100],且m,n均为正数。

如何用matlab生成随机数函数

步骤如下:

一、步打开matlab命令行窗口,输入 rand,按回车键,可以看到关于rand()函数的用法介绍,生成随机数的函数,如下图所示:

二、第二步我们输入round(rand(1,5)10),按回车键就生成了5个0-10的随机整数,如下图所示:

三、第三步输入round(rand(1,5)3),按回车键就生成了5个0-3的随机整数,如果不想生成整数,可以去掉round函数,需要注意的是使用rand函数生成随机数会有重复数,如下图所示:

扩展资料:

随机数是专门的随机试验的结果。

在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。

产生随机数有多种不同的方法。这些方法被称为随机数生成器。随机数重要的特性是它在产生时后面的那个数与前面的那个数毫无关系。

参考资料:

1.rand函数的用法 :

(1)命令:rand(N),rand(M,N)等

(2)对于rand(N),通过 rand得到的解释是:

R = rand(N) returns an N-by-N matrix containing pseudorandom values drawn from the standard uniform distribution on the open interval(0,1).

(3)即rand(N)是生成一个符合标准均匀分布的矩阵,其值位于开区间0~1。

(4)由概率论知识可知,当一个序列服从(0,1)区间的标准均匀分布时,其期望为0.5,方为1/12(0.08333)。

可以用程序检验一下:

2.randi函数的用法 :

(1)命令:randi(IMAX,N),randi(IMAX,M,N),randi(IMAX,[M,N]),randi([IMIN,IMAX],…)等

(2)对于randi(N),通过 randi得到的解释是:

R = randi(IMAX,N) returns an N-by-N matrix containing pseudorandom integer values drawn from the discrete uniform distribution on 1:IMAX.

R = randi([IMIN,IMAX],…) returns an array containing integer values drawn from the discrete uniform distribution on IMIN:IMAX

(3)即randi生成1:IMAX或者IMIN:IMAX之间的离散均匀分布的整数矩阵。如:

3.randn函数的用法 :

(1)命令:randn(N),randn(M,N)等

(2)对于randn(N),通过 randn得到的解释是:

R = randn(N) returns an N-by-N matrix containing pseudorandom values drawn from the standard normal distribution.

(3)即randn(N)是生成一个符合标准正态分布的矩阵,其值位于开区间0~1

4.随机数据生成控制语句 :

(1)在早期的MATLAB版本中,用’seed’,’state’,’twister’等命令控制随机数据的生成,但是这些命令将在未来的版本中被移除。

(2)现在用rng语句来代替这些命令,以控制随机数据的生成。见MATLAB中的updating your random number generator syntax

(3)rng的使用:

当使用rand,randi,randn语句时,其默认的是每次生成的数据不同(使用不同的随机数生成种子)

1。MATLAB函数Rand

以间隔(0, 1)生成的均匀随机数均匀分布在(0,1)之间。一个被称为种子的值用来控制生成的随机数。一致随机数函数的语法是RAND(n),伦德(m,n),其结果是包含nn随机数的矩阵和含有mn随机数的矩阵。注意,每个随机数的值是不一样的。这些值代表随机和意外,这就是为什么我们使用随机数。我们可以使用这些随机数来表示某一信号的幅值或的概率。从其概率密度函数(PDF)可以解释均匀分布在一个区间内的均匀随机数的分布。从它的PDF分布,类似于长图的分布,我们可以看到每个随机数具有相同的概率,因此称为均匀随机数。

请参阅下列示例:

> RAND(1,6)%首次使用随机数发生器

ANS=

0.2190 0.0470 0.6789 0.6789 0.6793 0.9347 0.3835

> HIST(ANS)%:查看条形图的长度。

>情节与ANS有什么区别?什么可以表示不规则数据的分布

兰德(1,6)%使用随机数发生器。注意,每次生成的随机值是不同的。

ANS=

0.5194 0.8310 0.0346 0.0346 0.0535 0.5297 0.6711

由于每个随机数产生的值是不同的,如果使用的随机数是相同的,因为需要确定验证公式,种子选项可以用来设置计算随机数生成器的起始值,其语法为RAND(‘种子’,N’),N是SP。神化的n=0的特殊意义是次使用初值(=931316785)来生成随机值,另一个n值是使用的初始值。如果使用相同的起始值,则随机值将是相同的,因为随机数的计算是基于起始值的。请参阅下列示例:

RAND(‘种子’,0)%重置随机值的初始值,这是次产生随机值。

> RAND(‘种子’)%表示现在使用的种子值=931316785。

ANS=

九亿三千一百三十一万六千七百八十五

“兰德(2,3)%)。注意随机数的上下界在[0,1]区间内。

ANS=

0.2190 0.6789 0.6789

0.0470 0.6793 0.6793

RAND(“种子”)%表示种子= 412659990用于再次生成随机值。

ANS=

四亿一千二百六十五万九千九百九十

>兰德(种子),0)

> RAND(1,6)

ANS=

0.2190 0.0470 0.6789 0.6789 0.6793 0.9347 0.3835

RAND(‘种子’,100)%设置随机值=100的起始值

>兰德(种子)

ANS=

一百

> RAND(2,5)

ANS=

0.2909 0.0395 0.3671 0.3671 0.5968 0.9253

0.0484 0.5046 0.9235 0.9235 0.8085 0.3628

如果随机数不是[0,1]区间,则可以应用以下步骤将随机数从[0,1]区间变换到其他区间。如果你想在[2,4]区间中得到一组随机数,我们首先在[0,1]区间中生成一组随机数,然后乘以2,因为2等于区间的上下界(4-2)之间的值。随着下限(2)的增加,可以从[2,4]区间获得随机值。例如,区间是[a,b],a是下限,b是上限。公式如下

X=(B-A)R+A,

X表示转换后的随机数的数组。请看下面的演示:

> DATAY1=2×RAND(1500)+2;%;原始随机值为500。

>图(DATAY1)%的图形看起来熟悉吗?

>轴(〔1 5000 6〕)水平轴/纵轴线上下界的平

> HIST(DATAY1)%查看其条带图

2。MATLAB函数

生成一个正态随机数。它是基于随机数中高斯分布的上下界。一个区间内正态随机数的分布可用其统计密度函数(PDF)来解释。从它的PDF分布可以看出,每个随机数的概率是不同的。靠近中间的随机数的概率高于两端的值。这是一般不规则现象的一个更可能的情况,因此它被称为正态随机数。由于正态随机数不被定义为下限,它由数据的均值和方来定义。因此,当生成一个正态随机数时,应该设置平均值和方。Randn(n)和RANN(n,m)是生成n×n随机数的矩阵和包含m n的矩阵的正态随机数,平均方为0。

请参阅下列示例:

“x= -2.9:0.22.9”;%;该示例使用HIST函数绘制分布M。

1. MATLAB 函数 rand

产生在区间 (0, 1)的均匀随机数,它是平均分布在 (0,1)之间。一个称为seed的值则是用来控制产生随机数的次数。均匀随机数函数的语法为rand(n),rand(m,n),其结果分别产生一矩阵含n×n个随机数和一矩阵含m×n的随机数。注意每次产生随机数的值都不会一样,这些值代表的是随机且不可预期的,这正是我们用随机数的目的。我们可利用这些随机数代入算式中,来表示某段讯号的不规则振幅或是某个出现的机率。均匀随机数其值平均的分布于一区间的特性可以从其统计密度函数(probabilitydensity function, PDF)说明。从其PDF分布类似长条图的分布,可以看出其每一个随机数值出现的机率皆相同,所以它被称为均匀随机数。

见以下的例子:

>> rand(1,6) % 次使用随机数产生器

ans =

0.2190 0.0470 0.6789 0.6793 0.9347 0.3835

>>hist(ans) % 看看长条图的长相

>>plot(ans) % 比较上个图与这个图有何异?何者能代表不规则数据的分布

>> rand(1,6) % 第二次使用随机数产生器,注意每次产生的随机数值皆不同

ans =

0.5194 0.8310 0.0346 0.0535 0.5297 0.6711

因为每次随机数产生的值皆不同,如果因为验证算式需要确定所使用的随机数值是相同的,可以利用seed这个选项,用以设定使用计算随机数产生器的起始值,其语法为rand('seed',n),n的规定是。其中n=0有特别意义是使用次产生随机数值的起始值(=931316785),其它的n值即是所使用起始值。如果使用相同的起始值,则随机数值会一样,因为随机数的计算是依据起始值。请看以下的例子:

>> rand('seed',0) % 将随机数值的起始值重设,相当于是次产生随机数值

>>rand('seed') % 显示现在使用的 seed 值=931316785

ans =

931316785

>> rand(2,3) % 注意随机数值的上下限介于 [0,1] 区间

ans =

0.2190 0.6789 0.9347

0.0470 0.6793 0.3835

>> rand('seed') % 显示再产生随机数值所用的seed=412659990

ans =

412659990

>> rand('seed',0)

>> rand(1,6)

ans =

0.2190 0.0470 0.6789 0.6793 0.9347 0.3835

>> rand('seed',100) % 设定随机数值的起始值=100

>> rand('seed')

ans =

100

>> rand(2,5)

ans =

0.2909 0.0395 0.3671 0.5968 0.9253

0.0484 0.5046 0.9235 0.8085 0.3628

如果需要产生随机数值不是介于[0,1]区间,可以采用以下步骤将随机数值从[0,1]区间转换到其它区间。设要得到一组随机数值是介于[2,4]区间,我们先产生一组随机数介于[0,1]区间,再将其值乘以2,因为2等于区间上下限的值(4-2)。接著再加上下限值(2),即可得到随机数值是介于[2,4]区间。例如区间为[a,b],a为下限值,b为上限值。则算式如下

x=(b-a)r + a,

其中x代表转换后的随机数值的阵列。请看下列:

>>data_1 = 2rand(1,500)+2; %原随机数值有500个

>>plot(data_1) %这个图是否看来眼熟?

>>axis([1 500 0 6]) %调整横轴/纵轴上下限

>>hist(data_1) %看看其长条图

2. MATLAB 函数randn

产生常态随机数,它是以高斯分布在随机数出现的上下限区间。常态随机数其值分布于一区间的特性可以从其统计密度函数(PDF)说明。从其 PDF分布可以看出其每一个随机数值出现的机率皆不相同,靠近中间的随机数值出现的机率比起两端的值要高,这是一般不规则现象较可能出现的情形,所以它被称为常态随机数。由于常态随机数并非以上下限来定义,它是用数据的平均值和方定义之。因此在产生一常态随机数时,需设定平均值和方的大小。randn(n)和randn(n,m)是分别产生一矩阵含n×n个随机数和一矩阵含m×n的常态随机数,其平均值为0方为1。

见以下的例子:

>> x=-2.9:0.2:2.9; % 这个例子用到 hist 函数来画出二种随机数的分布图

>> y=randn(1,5000);

>> hist(y,x)

>> title('Histogram of Normal Random Data')

>> y1=rand(1,5000);

>> hist(y1,x)

>> title('Histogram of Uniform Random Data')

如果需要产生常态随机数值的平均值和方并非0和1,可以采用以下步骤将平均值和方做转换。设要得到一组常态随机数值的平均值为b和方为a,我们先产生一组随机数r,再将其值乘以方a。接著再加平均值b。算式如下:

x=ar + b

其中x代表转换后的随机数值的阵列。请看下列:

>>data_2 = randn(1,500)+3 %原随机数值有500个

>>plot(data_2) %这个图是否看来眼熟?

>>axis([1 500 0 6])

>>hist(data_2) %看看其长条图

3.randperm(n)

产生一个1到n之间自然数的随机排列

4.randint(m,n,[1 N])

生成m×n的在1到N之间的随机整数矩阵,其效果与randint(m,n,N+1)相同。

rand(n):生成0到1之间的n阶随机数方阵 rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数)

另外:

Matlab随机数生成函数

betarnd 贝塔分布的随机数生成器

binornd 二项分布的随机数生成器

chi2rnd 卡方分布的随机数生成器

exprnd 指数分布的随机数生成器

frnd f分布的随机数生成器

gamrnd 伽玛分布的随机数生成器

geornd 几何分布的随机数生成器

hygernd 超几何分布的随机数生成器

lognrnd 对数正态分布的随机数生成器

nbinrnd 负二项分布的随机数生成器

ncfrnd 非中心f分布的随机数生成器

nctrnd 非中心t分布的随机数生成器

ncx2rnd 非中心卡方分布的随机数生成器

normrnd 正态(高斯)分布的随机数生成器

poissrnd 泊松分布的随机数生成器

raylrnd 瑞利分布的随机数生成器

trnd 学生氏t分布的随机数生成器

unidrnd 离散均匀分布的随机数生成器

unifrnd 连续均匀分布的随机数生成器

weibrnd 威布尔分布的随机数生成器

sign,上面回答的很好了

可以用rand(均值)、randn(高斯)等

matlab中 sound函数怎么用

可以用matlab函数sound实现。该函数的输入参量是音频数据向量、采样频率和转换位数。

也可以自己写些声音数据。下面的声音声调和频率有关,长度和数据长度有关:

例如:

sound(sin(2pi25(1:4000)/100));

响两声就是:

sound(sin(2pi25(1:4000)/100));

sleep(1);

sound(sin(2pi25(1:4000)/100));

MATLAB也自带了很多声音:

%鸟声

load chirp

sound(y,Fs)

%锣声

load gong

sound(y,Fs)

%哈里路亚

load handel

sound(y,Fs)

%笑声

load laughter

sound(y,Fs)

%哒声

load splat

sound(y,Fs)

%火车

load train

sound(y,Fs)

设信号频率是w0,采样频率为Fs,我们知道连续正弦信号可以表示为y(t)=sin(w0t),其中w0=2πf0,这里f0就是信号的频率,也就是你这里的2000Hz,t为连续的时间。在离散信号中,t是离散的,我们以固定的时间间隔采样,设时间间隔为Ts=1/Fs。那么t=nTs,n表示第n个样点。所以刚才的连续信号就可以表示成y(t)=sin(2πf0nTs)=sin(2πf0n/Fs),也就是y(n)=sin(2πf0n/Fs)。

采样频率Fs是可以任意选择的,但是为了能从离散信号无失真还原原始信号,Fs必须大于等于2f0。Fs越大,保留的信息就越多,但是采样相同时间数据量就越大。但是如果采样时间相应减断,采样点数过少,则有可能会造成频谱泄露,除非你恰好采够整数个周期!

sound

Convert vector into sound Syntax

sound(y,Fs)

sound(y)

sound(y,Fs,bits)

Descriptionsound(y,Fs) sends the signal in vector y (with sample frequency Fs) to the speaker on PC and most UNIX platforms. Values in y are assumed to be in the range . Values outside that range are clipped. Stereo sound is played on platforms that support it when y is an n-by-2 matrix.

sound或 doc sound

后面有个例子