MATLAB环境下基于矢量量化的说话人识别系统

MATLAB环境下基于矢量量化的说话人识别系统
MATLAB环境下基于矢量量化的说话人识别系统

MATLAB环境下基于矢量量化的说话人识别系统

王靖琰

中南大学信息科学与工程学院,长沙 (410083)

E-mail:wjycsu@https://www.360docs.net/doc/513433217.html,

摘要:说话人识别是以话音对说话人进行区分,从而进行身份鉴别与认证的技术。本文介绍了一个用MATLAB设计的说话人识别系统,包含其原理、所采用的识别方法及其系统实现与测试。

关键词:说话人识别,MFCC,矢量量化,LBG算法,MATLAB

0.引言

语音是人的自然属性之一,每个人的语音都带有强烈的个人色彩,这使得通过分析语音信号来识别说话人成为可能。说话人识别技术按其被输入的测试语音可以分为与文本无关的说话人识别和与文本有关的说话人识别。前者是不规定说话内容的说话人识别,后者是规定内容的说话人识别。目前自动说话人识别的主要方法有基于隐马尔可夫模型(HMM)、基于矢量量化(VQ)以及基于高斯混合模型法(GMM) [5]。由于VQ方法具有简单、实用的特点,故得到了广泛应用,本研究工作主要探讨如何利用矢量量化算法来实现说话人自动识别系统,并且在MATLAB平台上设计了一个基于本方法的说话人识别系统,系统测试结果表明本系统实现了说话人识别的基本功能。

1. 说话人识别系统的组成

说话人识别系统分为两个阶段[2],即训练(学习)和识别阶段。在训练阶段,系统根据每个使用者说出的若干训练语句建立相应的模型或模型参量参考集。在本系统中通过function code = train(traindir, n)函数实现。而在识别阶段,由待识别人说的语音中导出参量要与训练过程中的参考参量集或模板加以比较。我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),选取距离最小者判断说话人是谁。在本系统中通过function test(testdir, n, code)函数实现。

图1是说话人识别系统的框图[2]。

图1 说话人识别系统框图

2. Mel频率倒谱系数(MFCC)的提取

MFCC参数是基于人的听觉特性利用人听觉的屏蔽效应[2],在Mel标度频率域提取出来的倒谱特征参数。

MFCC参数的提取过程如下[4]:

1.对输入的语音信号进行分帧、加窗,然后作离散傅立叶变换,获得频谱分布信息。

设语音信号的DFT 为[3]:

)1(1-N k 0,)()(1

1

2≤≤=∑?=?

N n N

nk j a e

n x k X π

其中式中x(n)为输入的语音信号,N 表示傅立叶变换的点数。 2. 再求频谱幅度的平方,得到能量谱。

3. 将能量谱通过一组Mel 尺度的三角形滤波器组。

我们定义一个有M 个滤波器的滤波器组(滤波器的个数和临界带的个数相近),采用的滤波器为三角滤波器,中心频率为M m m f ,,2,1),(L =,本系统取M=100。 4. 计算每个滤波器组输出的对数能量。

)2(1

-M m 0,))()(ln()(11

2

≤≤=∑?=N k m a k H k X m S

其中为三角滤波器的频率响应。 )(k H m 5. 经

离散弦变换(DCT )得到MFCC 系数。

MFCC 系数个数通常取20—30,常常不用0阶倒谱系数,因为它反映的是频谱能量,故在一般识别系统中,将称为能量系数,并不作为倒谱系数,本系统选取20阶倒谱系数。 )3(1-N n 0,

))/5.0(cos()()(10

≤≤?=

∑?=M m m m n m S n C π0C 用MATLAB 语言实现MFCC 特征参数提取如下:

function r = mfcc(s, fs) % s 声音信号的向量 fs 取样频率 m = 100;

n = 256; l = length(s);

nbFrame = floor((l - n) / m) + 1; for i = 1:n

for j = 1:nbFrame

M(i, j) = s(((j - 1) * m) + i); end end

h = hamming(n); M2 = diag(h) * M; for i = 1:nbFrame

frame(:,i) = fft(M2(:, i)); end t = n / 2; tmax = l / fs;

m = melfb(20, n, fs); n2 = 1 + floor(n / 2);

z = m * abs(frame(1:n2, :)).^2; r = dct(log(z));

其中Mel 尺度的三角形滤波器组通过function m = melfb(p, n, fs)函数产生。

3. 基于VQ 的识别模型

基于VQ 的说话人识别系统,矢量量化起着双重作用。在训练阶段,把每一个说话者所提取的特征参数进行分类,产生不同码字所组成的码本。在识别(匹配)阶段,我们用VQ 方法计算平均失真测度(本系统在计算距离d 时,采用欧氏距离测度),从而判断说话人是谁。

3.1 用矢量量化聚类法生成码本

我们将每个待识的说话人看作是一个信源,用一个码本来表征[2]。码本是从该说话人的训练序列中提取的MFCC 特征矢量聚类而生成。只要训练的序列足够长,可认为这个码本有效地包含了说话人的个人特征,而与讲话的内容无关。

本系统采用基于分裂的LBG 的算法设计VQ 码本[1],),,2,1(K k X k L =为训练序列,B 为码本。

具体实现过程如下:

1. 取提取出来的所有帧的特征矢量的型心(均值)作为第一个码字矢量。 1B

2. 将当前的码本根据以下规则分裂,形成2m 个码字。

m B )4()

1(B )1(B ??????=+=?+εεm m m m B B

其中m 从1变化到当前的码本的码字数,ε是分裂时的参数,本文ε=0.01。

3. 根据得到的码本把所有的训练序列(特征矢量)进行分类,然后按照下面两个公式计算训练矢量量化失真量的总和以及相对失真(n 为迭代次数,初始n=0,=∞,B 为当前

的码书),若相对失真小于某一阈值[n]

D

[-1]

D

ε,迭代结束,当前的码书就是设计好的2m 个码字的码书,转5。否则,转下一步。

量化失真量和:

)5()

,(min 1

)

(∑==K

k k n B X d D

相对失真:

)6()1(n

n

n D D D ??

4. 重新计算各个区域的新型心,得到新的码书,转3。

5. 重复2 ,3 和4步,直到形成有M 个码字的码书(M 是所要求的码字数).算法流程如图2,其中。

10000=D 0用MATLAB 语言实现基于分裂的LBG 的算法设计VQ 码本如下:

function r = vqlbg(d,k)

% VQLBG Vector quantization using the Linde-Buzo-Gray algorithme % Inputs: d contains training data vectors (one per column) % k is number of centroids required

% Output: r contains the result VQ codebook (k columns, one for each centroids) e = .01;

r = mean(d, 2); dpr = 10000; for i = 1:log2(k)

r = [r*(1+e), r*(1-e)];

while (1 == 1) z = disteu(d, r);

[m,ind] = min(z, [], 2); t = 0;

for j = 1:2^i

r(:, j) = mean(d(:, find(ind == j)), 2); x = disteu(d(:, find(ind == j)), r(:, j)); for q = 1:length(x) t = t + x(q); end end

if (((dpr - t)/t) < e) break; else dpr = t; end end end

3.2 VQ 的说话人识别

设是未知的说话人的特征矢量,共有T 帧。},,,{21T X X X L i

Bm 是训练阶段形成的码书,表示第i 个码书第m 个码字,共有N 个码书(即N 个说话人),每一个码书有M 个码字。则对于说话人辨识用式(7)计算第i 个说话人的平均量化失真i D [1],然后用同样的方法求出

,则最终的识别结果就是最小者所对应的那个i ,即是所辨识的那个人。

}D ,,D ,{D N 21L i D )7()],([111min ∑=≤≤=

j i

m j M

m i B x d T D

用MATLAB 语言实现识别并显示识别结果过程如下:

v = mfcc(s, fs); % Compute MFCC's

distmin = inf; k1 = 0; for l = 1:length(code) % each trained codebook, compute distortion d = disteu(v, code{l}); dist = sum(min(d,[],2)) / size(d,1); if dist < distmin distmin = dist; k1 = l; end end

msg = sprintf('Speaker %d matches with speaker %d', k, k1);

disp(msg); end

4. 实验及结果分析

实验中,共有8名录音人员,男性6名,女性2名,录音采样率8kHz ,说话内容各异,

每一说话人发音2次,其中1次用于训练,语音长度为1s,存储在目录\1s内;1次用于识别语音长度为4s,语音长度为4s,存储在目录\4s内。

实验过程与结果如下:

1 训练

打开Matlab 使Current Directory为VQ所在的文件夹(比如:D:\MATLAB6p5\work\SR\vqonMatlab);在Command windows中输入

train('1s\',8)

这是将1s中的wav文件进行特征提取并产生VQ码本,在workspace中有个ans的文件保存为.m文件,比如8.m,保存在1s文件夹下。

2 识别

在Command windows中输入

test('4s/',8,ans)

其中的ans 就是步骤1产生的码本。(必须保证8.m在workspace中打开)此时就会显示结果:

Speaker 1 matches with speaker 2

Speaker 2 matches with speaker 3

Speaker 3 matches with speaker 4

Speaker 4 matches with speaker 6

Speaker 5 matches with speaker 2

Speaker 6 matches with speaker 7

Speaker 7 matches with speaker 8

Speaker 8 matches with speaker 3

1s、4s分别是8个不同的人说话的录音,只是打乱了次序。

从上面的结果中可以看出,8个说话人中,识别结果正确的有6个,其中第5个和第8个说话人误识,识别率为:75%。

从上面的结果中可以看出,本系统基本实现了说话人识别的功能。但此系统也存在着不足,例如若两人的语音特征很接近,就不能很明显的区分开来,这主要是由于没有在提取特征系数前进行端点检测导致的。

5. 总结

本文通过研究基于适量量化的说话人识别算法,用MATLAB语言设计了一个说话人识别系统并且进行了测试实验,结果表明本系统基本实现了要求的功能,但识由于没有进行端点检测,别率不能令人满意,有待进一步改进。

端点检测[2]是说话人识别系统中的前端处理,其检测的准确性将直接影响识别的性能。在10个英语数字的识别测试中,60ms的端点误差就使识别率下降30%。所以端点检测的设计是本系统改进的重要研究方向。

参考文献

[1] 杨行竣,迟惠生.语音信号数字处理[M].电子工业出版社,1995.49-80.

[2] 覃爱娜,韩华.说话人识别技术及其在工厂自动控制系统中的应用[J].长沙电力学院学报,2003, 18(2):68-70.

[3] 丁美玉,高西全.数字信号处理[M].西安电子科技大学出版社,2004.68-71.

[4] 李宏松,苏健民,黄英来,于慧伶.基于声音信号的特征提取方法的研究[J].信息技术, 2006,26(6):91-94.

[5] 谢霞,李宏,郑俊.基于GMM 的说话人辨认系统及其改进[J].电脑与信息技术, 2006, 14(2):48-51.

Speaker Recognition System Based on Vector Quantization

Using MATLAB

Wang Jingyan

Dept.Of Information Science&Technology, Central South Univ, Changsha ( 410083)

Abstract

The technique of speaker recognition makes it possible to use the speakers’voices to verify their identities.A speaker recognition system using MATLAB is introduced which includes the principle,methods ,its realization and test and its realization.

Keywords: speaker recognition; MFCC;vector quantization;LBG algorithm;MATLAB

作者简介:王靖琰,男,1985年生,就读与中南大学信息科学与工程学院,对指纹识别,语音识别,DSP和分布式系统感兴趣。

实验一 MATLAB基本操作及运算(含实验报告).

实验一 MATLAB 基本操作及运算 一、 实验目的 1、 理解Matlab 数据对象的特点; 2、 掌握基本Matlab 运算规则; 3、 掌握Matlab 帮助的使用方法; 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 三、 实验内容 要求建立一个名为experiment01.m 的,把与实验内容1-7相关的实验命令都放入该文件中,题与题之间用相应注释分割。注意对实验中出现的相关函数或变量,请使用help 或doc 查询相关帮助文档,学习函数的用法。 1、 建立以下标量: 1) a=10 2) b=2.5×1023 3) c=2+3i ,(i 为虚数单位) 4) d=3/2πj e ,(j 为虚数单位,这里要用到exp ,pi ) 2、 建立以下向量: 1) aVec=[3.14 15 9 26] 2) bVec=????? ???????18228871.2 3) cVec=[5 4.8 … -4.8 -5 ] (向量中的数值从5到-5,步长为-0.2) 4) dVec=[100 100.01 … 100.99 101] (产生1到10之间的等对数间隔向量,参考logspace ,注意向量的长度) 3、 建立以下矩阵: 1)???? ??????=2222 aMat aMat 一个9×9的矩阵,其元素全为2;(参考ones 或zeros )

2)??????? ?????????=1000005000001 bMat bMat 是一个9×9的矩阵,除主对角上的元素为[1 2 3 4 5 4 3 2 1]外,其余元素均为0。(参考diag )。 3)100 20109212291111 =cMat cMat 为一个10×10的矩阵,可有1:100的向量来产生(参考reshape ) 4)???? ??????=NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN dMat dMat 为3×4的NaN 矩阵,(参考nan ) 5)?? ????---=8710225113eMat 6)产生一个5×3随机整数矩阵fMat ,其值的范围在-3到3之间。(参考rand 和floor 或ceil ) 4、 使用题1中的变量计算下列等式的x,y,z 的值: 1) ) 6/)15((11--+=a e x 2) g g h h b a y /121,)(=+=提示π,参考sqrt 。 3) c c a d c d c R z ))3/sin()]))([(log(π-+= ,其中R 表示取括号内复数的实数部分,c 表示c 的共轭复数,log 是自然对数。(参考real ,conj ,log ) 5、 使用题2中的向量求解一下等式: 1))25.2/(22 25.221 cVec e xVec -=π, 其中cVec 指的是题2 中定义的向量cVec ,一下雷同。 2)22)(bVec aVec yVec T +=,T aVec 表示aVec 的转置 3) )/1(log 10dVec zVec =,10log 表示已10为底的对数,参考log10 6、 使用题2和题3中所产生的向量和矩阵计算以下等式,注意本题的操作

异步电机矢量控制Matlab仿真实验

基于Matlab/Simulink异步电机矢量控制系统仿真 一.理论基础 矢量控制系统的基本思路是以产生相同的旋转磁动势为准则,将异步电动机在静止三相坐标系上的定子交流电流通过坐标变换等效成同步旋转坐标系上的直流电流,并分别加以控制,从而实现磁通和转矩的解耦控制,以达到直流电机的控制效果。所谓矢量控制,就是通过矢量变换和按转子磁链定向,得到等效直流电动机模型,在按转子磁链定向坐标系中,用直流电动机的方法控制电磁转矩与磁链,然后将转子磁链定向坐标系中的控制量经变换得到三相坐标系的对应量,以实施控制。其中等效的直流电动机模型如图1-1所示,在三相坐标系上的定子交流电流iA、iB、iC ,通过3/2变换可以等效成两相静止正交坐标系上的交流isα和isβ,再通过与转子磁链同步的旋转变换,可以等效成同步旋转正交坐标系上的直流电流ism和ist。 图1-1 异步电动机矢量变换及等效直流电动机模型 从图1-1的输入输出端口看进去,输入为A、B、C三相电流,输出为转速ω,是一台异步电动机。从内部看,经过3/2变换和旋转变换2s/2r,变成一台以ism和ist为输入、ω为输出的直流电动机。m绕组相当于直流电动机的励磁绕组,ism相当于励磁电流,t绕组相当于电枢绕组,ist相当于与转矩成正比的电枢电流。 按转子磁链定向仅仅实现了定子电流两个分量的解耦,电流的微分方程中仍存在非线性和交叉耦合。采用电流闭环控制,可有效抑制这一现象,使实际电流快速跟随给定值,图1-2是基于电流跟随控制变频器的矢量控制系统示意图。

图1-2矢量控制系统原理结构图 通过转子磁链定向,将定子电流分量分解为励磁分量i sm 和转矩分量i st ,转子磁链r ψ仅由定子电流分量i sm 产生,而电磁转矩e T 正比与转子磁链和定子电流转矩分量的乘积,实现了定子电流的两个分量的解耦。简化后的等效直流调速系统如图1-3所示。 图1-3简化后的等效直流调速系统 二.设计方法 1.电流模型设计 转子磁链在实用的系统中多采用按模型计算的方法,即利用容易测得的电压、电流或转速等信号,借助于转子磁链模型,实时计算磁链的幅值与空间位置。转子磁链模型可以从电动机数学模型中推导出来,也可以利用专题观测器或状态估计理论得到闭环的观测模型。在计算模型中,由于主要实测信号的不同,又分为电流模型和电压模型两种。本设计采用在αβ坐标系上计算转子磁链的电流模型。 由实测的三相定子电流通过3/2变换得到静止两相正交坐标系上的电流i sα和i sβ,在利用αβ坐标系中的数学模型式计算转子磁链在αβ轴上的分量 ?? ? ?? ?? ++-=+--=β αβχαβααωψψψωψψψs r r r s r r r i Tr Lm Tr dt d i Tr Lm Tr dt d 11 (2-1-1) 也可表述为:

amesim与matlab联合仿真参数设置(精)

Amesim 与 matlab 联合仿真参数设置 实验软件平台 Matlab2009a , amesimR8a , VC6.0企业版 步骤: 1 将 VC++中的 "vcvar32.bat" 文件从 Microsoft Visual C++目录(通常 是 .\Microsoft Visual Studio\VC98\Bin中拷贝至 AMESim 目录下。 2 设置环境变量:我的电脑 -〉属性 -〉高级 -〉环境变量。设置 AMESim 环境变量:变量名 AME , 值为其安装路径如安装在 C 盘中则值为 C:\。设置 Matlab 环境变量:变量名MATLAB 值为 D:\MATLAB701。确认在系统变量 PATH 中包含系统安装目录C:\WINNT\System32 3 在 Matlab 的目录列表里加上 AMESim 与 Matlab 接口文件所在的目 录 %AME%\matlab\amesim。 File-〉 Set Path-〉 Add Folder 加上 C:\AMEsim\matlab\amesim。 (注意 amesimR8A 是 将 %AME%\scripting\matlab\amesim设置到 MATLAB 路径中 4 将联合仿真的许可证文件 licnese.dat 拷贝到 AMESim 安装目录下的 licnesing 文件夹中 5 确认是否在 AMESim 中选择 VC 作为编译器。具体操作在AMESim-〉 Opions-> AMESim Preferences->Compilation/Parameters中。 . 在MATLAB 命令窗口中输入命令 Mex -setup , 选择 VC 作为编译器。 如果上面设置成功下面不用看 下面给出 amesim4.0版本设置方法 为了实现二者的联合仿真,需要在 Windows2000或更高级操作系统下安装Visual C++ 6.0,AMESim4.2以上版本与 MATLAB6.1上版本 (含 Simulink

实验1_基于MATLAB的图像基本操作

第1次实验基于MATLAB的图像基本操作 二、实验内容和要求: 1.实现图像Baboon.bmp(MATLAB自带)的读入(可使用imread)和显示(可使用imshow)操作,代码加上足够的注释,需要建立一个M文件实现。 I=imread('F:\标准图像\Baboon.bmp');//读入图像 imshow(I);//显示图像 2.编程实现将一幅RGB图像转换为二值图像,并在一个窗口同时显示处理过程中得到的每一个图像和原图像,同时需要给图像加上标题。(原始数据可以是任意的RGB图像)。需要新建一个M文件实现。 figure,subplot(1,3,1),imshow(I(:,:,1)),title('R'); subplot(1,3,2),imshow(I(:,:,2)),title('G'); subplot(1,3,3),imshow(I(:,:,3)),title('B'); 3.计算图象统计参数: 读取图像(文件名为‘cameraman.tif’); 最大值 最小值 均值 K=imread('cameraman.tif'); d_max=max(K(:)) d_min=min(K(:)) d_mean=mean(K(:)) 4.利用帮助系统了解im2double,imresize,image函数的作用和语法,并利用这些函数处理已知图像pout.tif(MATLAB自带)并显示处理前后效果。 J=imread('pout.tif'); J1=im2double(J); figure,subplot(1,2,1),imshow(J),title('Before') subplot(1,2,2),imshow(J1),title('After') J2=imresize(J,0.3); figure,subplot(1,2,1),imshow(J),title('Before') subplot(1,2,2),imshow(J2),title('After') figure,subplot(1,2,1),imshow(J),title('Before') subplot(1,2,2),image(J);title('After') 1

基于Matlab的交流电机矢量控制系统仿真..

基于MATLAB交流异步电机矢量控制系统建 模与仿真 摘要:在分析异步电机的数学模型及矢量控制原理的基础上,利用MATLAB,采用模块化的思想分别建立了交流异步电机模块、逆变器模块、矢量控制器模块、坐标变换模块、磁链观测器模块、速度调节模块、电流滞环PWM调节器,再进行功能模块的有机整合,构成了按转子磁场定向的异步电机矢量控制系统仿真模型。仿真结果表明该系统转速动态响应快、稳态静差小、抗负载扰动能力强,验证了交流电机矢量控制的可行性、有效性。 关键词:交流异步电机,矢量控制,MATLAB 一、引言 交流电动机由于动态数学模型的复杂性,其静态和动态性能并不是很理想。因此在上世纪前期需要调速的场合下采用的都是直流电动机,但是直流电动机结构上存在着自身难以克服的缺点,导致人们对交流调速越来越重视。从最初的恒压频比控制到现在的直接转矩控制和矢量控制,性能越来越优良,甚至可以和直流电机的性能相媲美。 本文研究交流异步电机矢量控制调速系统的建模与仿真。利用MATLAB中的电气系统模块构建异步电机矢量控制仿真模型,并对其动、静态性能进行仿真试验。仿真试验结果验证了矢量控制方法的有效性、可行性。 二、交流异步电机的矢量控制原理 矢量控制基本思想是根据坐标变换理论将交流电机两个在时间相位上正交 的交流分量,转换为空间上正交的两个直流分量,从而把交流电机定子电流分解成励磁分量和转矩分量两个独立的直流控制量,分别实现对电机磁通和转矩的控制,然后再通过坐标变换将两个独立的直流控制量还原为交流时变量来控制交流电机,实现了像直流电机那样独立控制磁通和转矩的目的。 由于交流异步电机在A-B-C坐标系下的数学模型比较复杂,需要通过两次坐标变换来简化交流异步电机的数学模型。一次是三相静止坐标系和两相静止坐标系

matlab安装提示

1,安装Matlab提示exception calling main解决方法 在安装完windows sp3补丁后,很多人发现matlab2007b无法正常运行,总是启动画面闪一下,然后就没反应了,或者有时候弹出exception calling main的系统错误提示。 解决此问题的办法很简单,右键单击matlab程序图标,选择属性,在兼容性选项 卡中勾选"用兼容性运行此程序",兼容模式为window NT (service pack 5),确 定后即可恢复正常 2,安装时出现红色叉杠并出现英文字母:The installer cannot read the file, This is probably due to a CD reader which can only read files with an naming convention. Please see the technical support page at 解决方法:请一定不要用WinRar之类的解压软件来再次解压文件,而是必须要用Daemon Tools一类的虚拟光驱软件来打开! 3,输入注册码后出现红色叉杠并出现英文字母:There are no products to install, check that the files are in either the root folder or the ‘archives’ folder. 解决方法:在我的电脑-右键-属性,在系统属性对话框中选择高级-环境变量-TMP 改为C:\Temp ,同时在C的根目录下建立Temp文件夹,问题可以解决。

实验一 Matlab基本操作

实验一Matlab基本操作 题目: 1.利用基本矩阵产生 3x3 和15x8 的单位阵,全1 阵,全0 阵,均匀分布的随 机阵([-1,1]之间),正态分布随机阵(方差4,均值1) 2.利用diag()函数和rot90()产生下列矩阵: 然后求解a 阵的逆矩阵aa 及b 阵的特征值和对应特征向量,并利用reshape 将 aa 阵变换成行向量。 3.产生一均匀分布在(-5,5)随机阵(50x2),精确到小数点后一位。 4.编程实现当α∈[-π,π],间隔为1o 时,求解正弦和余弦的值,并利用plot() 函数绘制正弦,余弦曲线。 5.利用rand 函数产生(0,1)间均匀分布的10x10 随机矩阵a,然后统计a 中大于等于0.6 的元素个数。 6.利用randn 函数产生均值为0,方差为1 的10x10 正态分布随机阵,然后统计其中大于-0.5,小于0.5 的元素个数。 7.编程实现下表功能: 8.有一矩阵a,找出矩阵中其值大于1 的元素,并将他们重新排列成列向量b。 9.在一保定市区9 月份平均气温变化测量矩阵temp_Baoding_sep 中(48x30),存在有奇异值(大于42o C,小于0o C),编程实现删除奇异值所在的行。 10.在给定的100x100 矩阵中,删除整行内容全为0 的行,删除整列内容全为0 的列。 程序: 1. %3X3矩阵 a1=eye(3) a2=ones(3) a3=zeros(3) a4=1-2*rand(3) a5=2*randn(3)+1 %15X8矩阵 b1=eye(15,8) b2=ones(15,8) b3=zeros(15,8) b4=1-2*rand(15,8) b5=2*randn(15,8)+1 运行结果:

矢量匹配改进

矢量匹配改进 摘要:本文介绍了矢量匹配过程的修改,它是为了有理函数频域响应的逼近。修改大大提高了矢量匹配的能力来移居磁极到更好的位置,从而改进其收敛性能和降低最初极集规范的重要性。这是在更宽松的条件下,通过更换矢量匹配缩放功能的高频渐近要求来实现的。当被污染的噪声匹配响应时,计算结果表现出一个很大的性能改进。该过程也证明传输线路、网络当量和变压器的宽带建模是有优势的。 关键词:宏模型,合理近似值,系统识别,矢量匹配(VF)。 一.引言 矢量匹配[1], [2]已成为一种在频率领域进行线性系统识别的流行工具。应用程序通常成为设备和子系统的造型,已达到在电力系统中瞬态分析[3] - [5]和微波系统信号完整性表征的目的[6],[7]。VF也被用于以下领域的屏蔽分析中:电磁兼容性(EMC)研究[8]、格林函数表示[9]和最优样本计算[10]。VF本质上是Sanathanan–Koerner循环[11]的一个强大的再形成,它运用有理基函数(局部的组分)代替多项式和极搬迁,而不是权重[12]。此外,VF给出了具有保证稳定磁极的嵌合,可直接应用于多端系统,并且计算机代码是免费获得的[13]。利用时域响应[14]和频率导数[15]的VF 新规划已经得到发展。 VF是基于迁移初期磁极到更好位置的迭代。当使用正确的顺序拟合一个有理函数的频域响应时,磁极通常可以被缓慢安置到接近机器精度的其最终位置上。然而,在实际应用中,它将用较低阶函数来改进响应,进而证明一些迭代是需要的。当频率响应包含一个非理性元件(例如,噪声)时,这种情况可能会恶化,并且在某些情况下,VF的收敛甚至引起熄火。本文表明收敛性质可以通过VF的一个小变形得到大大改善。VF的公式化 包括一个定标函数,其在高频率下接近统一。它表示这个高频渐近条件 在汇聚处有一个非常不良的影响。这个问题通过更换一个更宽松的渐近条件来解决,它仅用来为最小二乘(LS)的问题提供一个不普通的答案。计算结果表明:该修改在汇聚属性上提供一个重大的改进。 二.矢量匹配 我们首先回顾VF的原始提法。我 们的目标是近似的频率响应(一 般地,是向量;因此,指定VF),配有一个有理函数, 并且条件d和e是可选的。如在[1]、[2]所 解释的,在VF首次通过解决在最小平 方里发现的磁极,线性问题 当 是一个纯量,通常是一个矢 量,是一组初始极点。(所有在(3) 和(4)中的极点和余数是真实的,或者当d和e是真的时变成复杂的双复共轭)。然后,它可以示出[1]的极点

VS2008和matlab2010混合编程正确配置方法

VS2008调用matlab引擎正确配置方法 要在VC中成功编译Matlab引擎程序,必须包含引擎头文件engine.h并引入Matlab对应的库文件libmx.lib、libmat.lib、libeng.lib。具体的说,打开一个工程后,做如下设置: 1) 通过菜单工具/选项,打开选项页,点击项目和解决方案,然后在页面右面“显示以下内容的目录”下拉列表框中选择“包含文件”,添加路径:"D:\Program files\MATLAB\R2010a\extern\include"。 2)选择“库文件”,添加路径: d:\Program Files\MATLAB\R2010a\extern\lib\win32\microsoft。

以上步骤1)、2)只需设置一次,因为是对VS2008整体工作环境的设置。 3) 右击工程/属性,打开项目属性页,选择链接器/输入,在附加依赖项编辑框中,添加文件名libmx.lib libmat.lib libeng.lib。

4)如此设置后,能够正常编译,但运行时报错说找不到dll文件,如下 而libmx.dll是存在于D:\Program Files\MATLAB\R2010a\bin\win32文件夹中,而在Win7系统变量里Matlab在安装的时候时只写入了路径D:\Program Files\MATLAB\R2010a\bin,故系统不会自动到其子文件中找dll,从而报错说找不到文件,这也解释了为什么旧版本的Matlab无此问题,因为可能旧版本的Matlab中没有将这些dll分离放到win32子文件夹中。 所以只要在系统变量中包含路径D:\Program Files\MATLAB\R2010a\bin\win32即可,如下图。

matlab操作实验报告

实验一matlab基本操作 一、实验目的 熟悉matlab的安装与启动;熟悉matlab用户界面;熟悉matlab功能、建模元素;熟悉matlab优化建模过程。 二、实验设备与工具 1.计算机 2.matlab软件 三、实验步骤 1. 了解matlab的硬件和软件必备环境; 2. 启动matlab; 3. 学习优化建模过程。 四、实验报告要求 1. 写出matlab系统界面的各个构成;以及系统布局区的组成;以及每一部 分的功能; 2. 优化建模过程应用举例 五、实验内容 (一)、Matlab操作界面 1.命令窗口(command window) 2.命令历史窗口(command history) 3.工作空间管理窗口(workspace) 4.当前路径窗口(current directory) (二)、优化建模过程应用举例 1、简单矩阵 123 456 789 A ?? ?? =?? ?? ?? 的输入步骤。 (1)在键盘上输入下列内容 A = [1,1,3; 4,5,6; 7,8,9] (2)按【Enter】键,指令被执行。 (3)在指令执行后,MATLAB指令窗中将显示以下结果: A = 1 2 3 4 5 6 7 8 9

2、矩阵的分行输入。 A=[1,2,3 4,5,6 7,8,9] A = 1 2 3 4 5 6 7 8 9 3、指令的续行输入 S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8 S = 0.6345 4、画出衰减振荡曲线t e y t 3sin 3-=及其它的包络线3 0t e y -=。t 的取值范围是]4,0[π。 t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid 5、画出2222) sin(y x y x z ++=所表示的三维曲面。y x ,的取值范围是]8,8[-。 clear;x=-8:0.5:8; y=x';

矢量控制matlab模型文档

Page System Name ---------------------------------------------- 1 pmsmvc 2 pmsmvc/ alpha beta trans dq 3 pmsmvc/PID_Speed 4 pmsmvc/PID_id 5 pmsmvc/PID_iq 6 pmsmvc/PMSM 7 pmsmvc/PMSM/ABC trans dq 8 pmsmvc/PMSM/dq trans ABC 9 pmsmvc/SVPWM_INVENTOR 10 pmsmvc/SVPWM_INVENTOR/P 11 pmsmvc/SVPWM_INVENTOR/TI,T2 12 pmsmvc/SVPWM_INVENTOR/inventor 13 pmsmvc/SVPWM_INVENTOR/sample piont 14 pmsmvc/a b c trans alpha beta 15 pmsmvc/dq trans alpha beta 16 pmsmvc/dq trans alpha beta

0theta_0 0iq_00id_Given 0.1id_0d q theta alpha beta dq trans alpha beta d q theta alpha beta dq trans alpha beta a b c al be a b c trans alpha beta TL0 TL Switch1 Switch Speed_Given Scope1 Scope ua ub uan ubn ucn SVPWM_INVENTOR Ua Ub Uc TL Te n Theta-e I-abc PMSM Error out PID_iq Error out PID_id Error out PID_Speed 1000s+1000Low pass C 1000s+1000 Low pass B 1000s+1000Low pass A -1492 Display Speed 0.15 Display em em Clock alpha beta theta d q alpha beta trans dq

VC++调用Matlab引擎(engine)配置方法

如何在C/C++语言里调用Matlab引擎(engine) ——(上篇)windows下的Visual C++平台 Windows下调用Matlab引擎要做好以下三点设置 (1)设置头文件目录 (2)设置库文件目录,并添加链接库输入项libeng.lib和libmx.lib (3)设置环境变量 以下以Visual Studio 2008为例来说明如何设置这三点: 1、添加头文件目录 依次选择:“工具”->“选项”,调出对话框后 再在对话框左边“选择项目和解决方案”->“VC++目录” 然后在右边选择“显示以下内容的目录”下的选框选择“包含文件”,再在目录列表的最下边空行处选中添加:matlab安装目录下的\extern\include路径比如我

的是:C:\Program Files\MATLAB\R2011a\extern\include 如果现在生成项目,链接将不会通过,比如可能会出现: 1>engwindemo.obj : error LNK2019: 无法解析的外部符号_mxDestroyArray,该符号在函数_WinMain@16 中被引用 1>engwindemo.obj : error LNK2019: 无法解析的外部符号_mxGetPi,该符号在函数 _WinMain@16 中被引用 1>engwindemo.obj : error LNK2019: 无法解析的外部符号_engClose,该符号在函数 _WinMain@16 中被引用 1>engwindemo.obj : error LNK2019: 无法解析的外部符号_engGetVariable,该符号在函数_WinMain@16 中被引用 1>engwindemo.obj : error LNK2019: 无法解析的外部符号_engOutputBuffer,该符号在函数_WinMain@16 中被引用

MATLAB基本操作实验报告

MATLAB基本操作 实验报告 课程名称: 院系: 专业班级: 学号: 学生姓名: 指导教师: 开课时间:至学年第学期

一、学生撰写要求 按照实验课程培养方案的要求,每门实验课程中的每一个实验项目完成后,每位参加实验的学生均须在实验教师规定的时间内独立完成一份实验报告,不得抄袭,不得缺交。 学生撰写实验报告时应严格按照本实验报告规定的内容和要求填写。字迹工整,文字简练,数据齐全,图表规范,计算正确,分析充分、具体、定量。 二、教师评阅与装订要求 1.实验报告批改要深入细致,批改过程中要发现和纠正学生实验报告中的问题,给出评语和实验报告成绩,签名并注明批改日期。实验报告批改完成后,应采用适当的形式将学生实验报告中存在的问题及时反馈给学生。 2.实验报告成绩用百分制评定,并给出成绩评定的依据或评分标准(附于实验报告成绩登记表后)。对迟交实验报告的学生要酌情扣分,对缺交和抄袭实验报告的学生应及时批评教育,并对该次实验报告的分数以零分处理。对单独设课的实验课程,如学生抄袭或缺交实验报告达该课程全学期实验报告总次数三分之一以上,不得同意其参加本课程的考核。 3.各实验项目的实验报告成绩登记在实验报告成绩登记表中。本学期实验项目全部完成后,给定实验报告综合成绩。 4.实验报告综合成绩应按课程教学大纲规定比例(一般为10-15%)计入实验课总评成绩;实验总评成绩原则上应包括考勤、实验报告、考核(操作、理论)等多方面成绩; 5.实验教师每学期负责对拟存档的学生实验报告按课程、学生收齐并装订,按如下顺序装订成册:实验报告封面、实验报告成绩登记表、实验报告成绩评定依据、实验报告(按教学进度表规定的实验项目顺序排序)。装订时统一靠左侧按“两钉三等分”原则装订。

三相异步电机矢量控制matlab仿真资料

三相异步电机矢量控制m a t l a b仿真

目录 1 设计任务及要求 (3) 2 异步电动机数学模型基本原理 (3) 2.1异步电机的三相动态数学模型 (3) 2.2异步电机的坐标变换 (8) 2.2.1三相-两相变换 (8) 2.2.2静止两相-旋转正交变换 (9) 3 异步电动机按转子磁链定向的矢量控制系统 (10) 3.1 按转子磁链定向矢量控制的基本思想 (10) 3.2 以ω-is-ψr 为状态变量的状态方程 (10) 3.2.1 dq坐标系中的状态方程 (10) 3.2.2 αβ坐标系中的状态方程 (12) 3.3 以w-is-Φr 为状态变量的αβ坐标系上的异步电动机动态结构图 (13) 3.4 转速闭环后的矢量控制原理框图 (14) 3.5 转速闭环后的矢量控制系统结构图 (15) 4 异步电动机矢量控制系统仿真 (16) 4.1 仿真模型的参数计算 (16)

4.2 矢量控制系统的仿真模型 (17) 4.3仿真结果分析 (20) 4.3.1 mt坐标系中的电流曲线 (20) 5. 总结与体会 (22) 参考文献 (22)

1 设计任务及要求 仿真电动机参数:R s=1.85Ω,R r=2.658Ω,L s=0.2941H,L r=0.2898H, L m=0.2838H,J=0.1284Nm·s2,n p=2,U N=380V,f N=50Hz。 采用二相旋转坐标系(d-q)下异步电机数学模型,利用MATLAB/SIMULINK完成异步电机的矢量控制系统仿真实验。 2 异步电动机数学模型基本原理 交流电动机是个高阶、非线性、强耦合的多变量系统。在研究异步电动机数学模型的多变量非线性数学模型时,作如下假设: (1)忽略空间谐波,设三相绕组对称,在空间中互差120电角度,产生的磁动势沿气隙周围按正弦规律分布; (2)忽略磁路饱和,认为各绕组的自感和互感都是恒定的;(3)忽略铁心饱和; (4)不考虑频率变化和温度变化对绕组电阻的影响。 2.1异步电机的三相动态数学模型 电动机绕组就等效成图2-1所示的三相异步电动机的物理模型。图中,定子三相绕组轴线A,B,C在空间是固定的,转子绕组轴线a,b,c以角速度ω随转子旋转,以A轴为参考坐标轴,转子a轴和定子A轴间的电角度θ为空间角位移变量。规定各绕组电压,电流,磁链的的正方向符合电动机惯性和右手螺旋定则异步电动机的数学模型由下述电压方程、磁链方程、转矩方程和运动方程组成。

MatLab和C++的混合编程-VS2010环境下的配置

MatLab和C++的混合编程 VS 2010环境下的配置 这几天颇费了一点精力研究matlab和C++如何混合编程,曲折坎坷,终于实现了VS2010的配置,现参照前人经验,基于自己实际情况,总结如下: 1.VS的配置 新建一个工程,打开视图->其它窗口->属性管理器。就会在左侧出现如下窗口, 展开工程,展开Debug|Win32,双击https://www.360docs.net/doc/513433217.html,er,出现如下窗口: 在VC++目录一栏里选择包含目录:添加如上图的include路径;库目录:添加如上图的

microsoft路径; 然后点击C/C++栏,常规选项: 在附加包含目录下选择:如上图include路径; 然后点链接器: 常规:附加库目录:如图所示; 连接器:输入选项:附加依赖项:输入 libeng.lib;libmat.lib;libmex.lib;libmx.lib 注意:在四个附加项之间一定

要用“;”隔开,否则运行的时候是无法打开的,这是和VS以前版本所不同的。我的主要问题也就是出在这里。 附图如下: 2.计算机的配置 右键我的电脑->属性->高级系统设置 选择高级选项卡->环境变量 在系统变量里新建“matlab”变量,值为matlab安装路径。

在Path变量里添加D:\MATLAB R2012a\bin\win32路径。如下图: 这样就配置完成了,不过在matlab里还要配置默认编辑器。在这里不做说明,网上例子很多。 说一下我自己对这个配置的理解: 试看所加目录,如D:\Matlab R2012a\extern\include,这就是c++的头文件所可以包含的文件夹,D:\matlab R2012a\extern\lib\win32\microsoft,这就是C++里调用matlab的函数抑或是matlab的外接函数库。 再说一点,这个属性页可以在很多地方打开,如可以再解决资源管理器里右击工程,属性,也是同样的页面,在项目菜单栏下选择所建工程的属性也是可以的,但是据说在如上所说的地方打开或是在解决资源管理器打开配置可以针对未来所有的C++工程,而在项目菜单栏下只是针对当前工程。这个可以在未来的学习中探索一下。 mex 配置和matlab计算引擎配置都可以用上述方法。

matlab安装时碰到的问题及解决方法

matlab7.0安装,详细步骤。在matlab7.0的安装过程中,多数人都会出现,这样或那样的问题。在此,笔者结合自己装matlab的亲自体验结合网络知识,特制作本经验,希望能给大家带来帮助。 工具/原料 matlab7.0安装包 步骤/方法 1. 要配置环境变量,如下:右键我的电脑(计算机)——属性——高级系统设置——在高级选项卡 中,点环境变量——在系统变量中,吧TEMP、TMP的路径改为C:\temp 如图1 图1 2. 在C盘下建一个临时文件夹(安装时用) 图2 3. 直接双击压缩包中的setup(注意不用解压缩)如图 3 图3

4. 图 4 五、如图4所示在红线内属于序列号。有以下序列号可供选择: Matlab 7 (R14) 注册码1: 14-13299-56369-16360-32789-51027-35530-39910-50517-56079-43171-43696-14148-64597-46518-3 5191-10070-58980-25665-36629-51033-46438-01127-52395-28569-20030-38795-14563-11876-23292 -58825-37547-05827-26397 Matlab 7 (R14) 注册码2: 14-58204-39252-07634-11570-16849-09455-22809-05445-13616-29058-08276-06885-12215-41987-2 1894-60423-57622-18647-58411-24238-20443-59027-07209-27706-28292-14609-15393-48293-13036 -12293-43713-57876-43362 Matlab 7 (R14) 注册码3: 14-44889-04614-04275-46147-23559-43066-41714-23083-65272-04997-17469-27919-17226-59862-2 7901-53983-56217-20094-53460-62647-58166-24499-35558-19511-44882-53016-25658-61109-03776 -34505-00776-15813-07183 5. 接下来就可以使用matlab了,安装后截图如下: 图5

实验一MATLAB基本操作及运算.doc

实验一MATLAB基本操作及运算 一、实验目的 二、实验的设备及条件 三、实验内容 1、建立以下标量: 1) a=3 2) b=5+ 3 j,(j为虚数单位) 3) c=e j 2 / 3 2、建立以下向量: 2.71 38 1) Vb= 28 82 2) Vc=[4 3.8-3.8 -4 ] (向量中的数值从 4 到 -4,步长为 -0.2) 3、建立以下矩阵: 1) 3 L 3 Ma M O M 3 L 3 Ma 为一个 7×7的矩阵,其元素全为 3. 2) 1 11 L91 2 12 O92 Mb M M O M 10 20 L100

Mb 为一个 10× 10的矩阵 . 3) 1 14 5 Mc 2 5 17 3 23 8 4、使用题 1 中的变量计算下列等式的x,y,z的值: 1) x1 1 1 e( (a 15)/6) 2)x2 ( a 15 x1) 3)x3 ln( R [( b c)(b c)]sin( a / 3)) ,其中R表示复数实部。 5、求解函数值 y e ct2/(2.252),其中 c 取值见题 1, t 的取值范围为题 2 中行 向量 Vc。 6、使用题 1 和题 3 中所产生的标量和矩阵计算等式 Mx a Mc (Mc) 1 (Mc )T 其中 * 为矩阵所对应行列式的值,参考det 。 7、函数的使用和矩阵的访问。 1)计算矩阵 Mb 每一列的和,结果应为行向量形式。 2)计算整个矩阵 Mb 的平均值。 3)用向量 [1 1 1] 替换 Mb 的最上一行的值 4)将矩阵 Mb 的第 2~5 行,第 3 到 9 列的元素所构成的矩阵赋值给矩阵SubMb。 5)删除矩阵 Mb 的第一行; 6)使用函数 rand 产生一个 1× 10的向量 r ,并将 r 中值小于 0.5 的元素设置为 0。 8、已知 CellA(1, 1)=‘中国’, CellA( 1, 2)=‘北京’, CellA( 2, 1)是一个 3 乘 3 的单位阵, CellA( 2, 2)=[1 2 3],试用 MATLAB创建一个 2 ×2 的细胞数组 CellA。 9、已知结构数组student 中信息包含有姓名,学号,性别,年龄和班级,试用 MATLAB创建相应的结构数组 student。该数组包含有从自己学号开始连续 5 个同学的信息(如果学号在你后面的同学不足 5 个则往前排序),创建完成后查看自己的信息。

实验一 MATLAB语言环境的使用

实验一MATLAB语言环境的使用 一、实验目的: 1.了解MATLAB的安装; 2.掌握MATLAB的开发环境; 3.熟悉MATLAB文件编辑器。 二、实验装置: 计算机 三、实验内容: 1.熟悉命令窗口的功能命令窗口的参数设置 (1)在命令窗口中,直接键入命令或函数,系统自动反馈信息或结果。如键入 18+(5*sin(pi/6))/(2+cos(pi/6)),按Enter键,即可得到计算结果:ans=18.8723 。 (2)若想修改上式,不必逐一重新输入,只需按一次↑键,调入已经输入的语句加以修 改即可。 (3)使用clc命令清楚命令窗口显示内容,但不清除工作空间中的变量。 (4)在命令窗口中,有许多功能键的使用方法,这里不祥述,具体内容参见教材。 2.熟悉命令窗口的参数设置 (1)matlab的命令窗口的参数设置如图1所示。Text display(文本显示),其中Numeric format(数据格式),Numeric display(数据显示方式)可以在loose和compact之间选择,选择loose,命令窗口中的命令和结果都隔行显示,而选择compact则以紧凑方式显示。 (2)display(显示参数),其中Echo on 控制M文件的运行中M文件的内部命令是否在命 令窗口中显示:Wrap line(自动换行)选择该项,输入输出行根据命令窗口的宽度自动换行,否则,无论输入输出行的长度是多少都显示在第一行宽度不够时出现滚动条。 (3)在树状展开结构Command window项,可以设置Fonts&Colors(字体和颜色),如图 2所示。

图1 命令窗口设置窗口 图2 命令窗口-字体和颜色设置窗口

如何安装MATLAB

要配置环境变量,如下:右键我的电脑(计算机)——属性——高级系统设置——在高级选项卡中,点环境变量——在系统变量中,吧TEMP、TMP的路径改为C:\temp 如图1 图1 1.在C盘下建一个临时文件夹(安装时用) 图2 2.直接双击压缩包中的setup(注意不用解压缩)如图 3 图3 3.图 4

五、如图4所示在红线内属于序列号。有以下序列号可供选择: Matlab 7 (R14) 注册码1: 14-13299-56369-16360-32789-51027-35530-39910-50517-56079-43171-43696-14148-64597-46518-35191-10070-58980-25665-36629-51033-464 38-01127-52395-28569-20030-38795-14563-11876-23292-58825-37547-05827-26397 Matlab 7 (R14) 注册码2: 14-58204-39252-07634-11570-16849-09455-22809-05445-13616-29058-08276-06885-12215-41987-21894-60423-57622-18647-58411-24238-204 43-59027-07209-27706-28292-14609-15393-48293-13036-12293-43713-57876-43362 Matlab 7 (R14) 注册码3: 14-44889-04614-04275-46147-23559-43066-41714-23083-65272-04997-17469-27919-17226-59862-27901-53983-56217-20094-53460-62647-581 66-24499-35558-19511-44882-53016-25658-61109-03776-34505-00776-15813-07183

实验一 Matlab基本操作(2016)

实验一 MATLAB 基本操作 一、实验目的 1. 学习和掌握MA TLAB 的基本操作方法 2. 掌握命令窗口的使用 3. 熟悉MATLAB 的数据表示、基本运算 二、实验内容和要求 1. 实验内容 1) 练习MATLAB7.0或以上版本 2) 练习矩阵运算与数组运算 2. 实验要求 1) 每位学生独立完成,交实验报告 2) 禁止玩游戏! 三、实验主要软件平台 装有MATLAB7.0或以上的PC 机一台 四、实验方法、步骤及结果测试 1. 实验方法:上机练习。 2. 实验步骤: 1) 开启PC ,进入MA TLAB 。 2) 使用帮助命令,查找sqrt 函数的使用方法 答: help sqrt 3) 矩阵、数组运算 a) 已知 ??????????=987654321A ,???? ??????=963852741B ,求)2()(A B B A -?+ 答: A=[1, 2, 3; 4, 5, 6; 7, 8, 9]; B=[1, 4, 7; 2, 5, 8; 3, 6, 9]; (A+B)*(2*B-A) b) 已知?? ????-=33.1x ,??????=π24y ,求T xy ,y x T c) 已知??????????=987654321A ,???? ??????=300020001B ,求A/B, A\B. d) 已知???? ??????=987654321A ,求:(1) A 中第三列前两个元素;(2) A 中所有第二行元素;(3) A 中四个角上的元素;(4) 交换A 的第1、3列。(5) 交换A 的第1、2行。(6) 删除A 的第3列。

e) 已知[]321=x ,[]654=y ,求:y x *.,y x /.,y x \.,y x .^, 2.^x ,x .^2。 f) 给出x=1,2,…,7时,x x sin 的值。 3)常用的数学函数 a )随机产生一个3x3的矩阵A ,求:(1) A 每一行的最大、最小值,以及最大、最小值所在的列;(2) A 每一列的最大、最小值,以及最大、最小值所在的行;(3) 整个矩阵的最大、最小值;(4) 每行元素之和;(5) 每列元素之和;(6) 每行元素之积;(7) 每列元素之积。 b) 随机产生两个10个元素的向量x ,y 。(1) 求x 的平均值、标准方差。(2) 求x ,y 的相关系数。(3)对x 排序,并记录排序后元素在原向量中的位置。 4) 字符串操作函数 建立一个字符串向量(如‘ABc123d4e56Fg9’),然后对该向量做如下处理: (1) 取第1~5个字符组成的子字符串。 (2) 将字符串倒过来重新排列。 (3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。 (4) 统计字符串中小写字母的个数。

相关文档
最新文档