文档库 最新最全的文档下载
当前位置:文档库 › matlab与典型相关分析

matlab与典型相关分析

matlab与典型相关分析
matlab与典型相关分析

第十章典型相关分析

安庆师范学院胡云峰

习题10.2下表给出著名统计学家Rao在1952年对25个家庭的成年长子的头长(x1)、头宽(x2)、与次子头长(y1)、头宽(y2)进行调查所得数据如下:

x=[191 155 179 145;195 149 201 152;181 148 185 149;...

183 153 188 149;176 144 171 142;208 157 192 152;...

189 150 190 149;197 159 189 152;188 152 197 159;...

192 150 187 151;179 158 186 148;183 147 174 147;...

174 150 185 152;190 159 195 157;188 151 187 158;...

163 137 161 130;195 155 183 158;186 153 173 148;...

181 145 182 146;175 140 165 137;192 154 185 152;...

174 143 178 147;176 139 176 143;197 167 200 158;...

190 163 187 150]

第一步计算相关系数矩阵

程序R=corrcoef(x)

输出结果R =

1.0000 0.7346 0.7108 0.7040

0.7346 1.0000 0.6932 0.7086

0.7108 0.6932 1.0000 0.8393

0.7040 0.7086 0.8393 1.0000

计算A、B的特征值特征向量

程序

R11=R([1,2],[1,2]);

R12=R([1,2],[3,4]);

R21=R([3,4],[1,2]); R22=R([3,4],[3,4]);

A=(R11^(-1))*R12*(R22^(-1))*R21; B=(R22^(-1))*R21*(R11^(-1))*R12; [X1 B1]=eig(A); [X2 B2]=eig(B); s=cov(x);

s1=s([1 2],[1 2]); s2=s([3,4],[3,4]); s1(1,2)=0; s1(2,1)=0; s2(1,2)=0; s2(2,1)=0; B1=B1^(1/2) l=(s1^(-1))*X1 B2=B2^(1/2) m=(s2^(-1))*X2 输出结果 B1 =

0.7885 0 0 0.0537 l =

0.0076 -0.0074 0.0126 0.0131 B2 =

0.0537 0 0 0.7885 m =

-0.0070 -0.0068 0.0157 -0.0162

从而得出典型相关系数和典型变量

1121

134

2122234

?0.00760.0126?0.7885?0.00680.0162?0.00740.0131?0.0537?0.00700.0157U X X V X X U X X V X X λλ?=+?=→?=--???=-+?=→?=-+??

第三步 典型相关系数的显著性检验

这里由于数据比较少就不用程序计算了,直接手算

(1)1

?0.7885λ=

()()

()1222012001200.050.0125,2,2

??110.3772ln 0.9750

1

[11]ln 20.9625

2

(4)9.48820.9625

(4)13.27720.9625

n p p Q n p p λλχχ===Λ=--=Λ=-=---++Λ≈=<=<

所以第一个典型相关系数1?λ为高度显著 (2)2?0.0537λ= ()

()202001200.05?10.9971ln 0.0029

1

[21]ln 0.0594

2

(1) 3.8410.0594

Q n p p λχΛ=-=Λ≈-=---++Λ≈=>

所以第二个典型相关系数2

?λ不显著,对第二个典型变量价值不大 第四步结果分析

根据上步的结果可知,对原始两组变量的研究可转化为对第一对典型变量的研究, 通过它们之间相关性的研究来反映原始两组变量的相关关系。

常用相关分析方法及其计算

二、常用相关分析方法及其计算 在教育与心理研究实践中,常用的相关分析方法有积差相关法、等级相关法、质量相关法,分述如下。 (一)积差相关系数 1. 积差相关系数又称积矩相关系数,是英国统计学家皮尔逊(Pearson )提出的一种计算相关系数的方法,故也称皮尔逊相关。这是一种求直线相关的基本方法。 积差相关系数记作XY r ,其计算公式为 ∑∑∑===----= n i i n i i n i i i XY Y y X x Y y X x r 1 2 1 2 1 ) ()() )(( (2-20) 式中i x 、i y 、X 、Y 、n 的意义均同前所述。 若记X x x i -=,Y y y i -=,则(2-20)式成为 Y X XY S nS xy r ∑= (2-21) 式中n xy ∑称为协方差,n xy ∑的绝对值大小直观地反映了两列变量的一致性程 度。然而,由于X 变量与Y 变量具有不同测量单位,不能直接用它们的协方差 n xy ∑来表示两列变量的一致性,所以将各变量的离均差分别用各自的标准差 除,使之成为没有实际单位的标准分数,然后再求其协方差。即: ∑∑?= = )()(1Y X Y X XY S y S x n S nS xy r

Y X Z Z n ∑?= 1 (2-22) 这样,两列具有不同测两单位的变量的一致性就可以测量计算。 计算积差相关系数要求变量符合以下条件:(1)两列变量都是等距的或等比的测量数据;(2)两列变量所来自的总体必须是正态的或近似正态的对称单峰分布;(3)两列变量必须具备一一对应关系。 2. 积差相关系数的计算 利用公式 (2-20)计算相关系数,应先求两列变量各自的平均数与标准差,再求离中差的乘积之和。在统计实践中,为方便使用数据库的数据格式,并利于计算机计算,一般会将(2-20)式改写为利用原始数据直接计算XY r 的公式。即: ∑∑∑∑∑∑∑---= 2 22 2 ) () (i i i i i i i i XY y y n x x n y x y x n r (2-23) (二)等级相关 在教育与心理研究实践中,只要条件许可,人们都乐于使用积差相关系数来度量两列变量之间的相关程度,但有时我们得到的数据不能满足积差相关系数的计算条件,此时就应使用其他相关系数。 等级相关也是一种相关分析方法。当测量得到的数据不是等距或等比数据,而是具有等级顺序的测量数据,或者得到的数据是等距或等比的测量数据,但其所来自的总体分布不是正态的,出现上述两种情况中的任何一种,都不能计算积差相关系数。这时要求两列变量或多列变量的相关,就要用等级相关的方法。 1. 斯皮尔曼(Spearman)等级相关 斯皮尔曼等级相关系数用R r 表示,它适用于两列具有等级顺序的测量数据,或总体为非正态的等距、等比数据。

基于MATLAB的(7_4)汉明码编译码设计与仿真结果分析

通信原理课程设计报告书 课题名称 基于MATLAB 的(7,4)汉明码编 译码设计与仿真结果分析 姓 名 学 号 学 院 通信与电子工程学院 专 业 通信工程 指导教师 ※※※※※※※※※ ※ ※ ※※ ※ ※ 2009级通信工程专业 通信原理课程设计

2011年 12月 23日 一、设计任务及要求: 设计任务: 利用MATLAB编程,实现汉明码编译码设计。理解(7,4)汉明码的构造原理,掌握(7,4)汉明码的编码和译码的原理和设计步骤。并对其性能进行分析。要求: 通过MATLAB编程,设计出(7,4)汉明码的编码程序,编码后加入噪声,然后译码,画出信噪比与误比特数和信噪比与误比特率的仿真图,然后对其结果进行分析 指导教师签名: 2011年12月23日 二、指导教师评语: 指导教师签名: 年月日 三、成绩 验收盖章 年月日

基于MATLAB 的(7,4)汉明码编译码设计 与仿真结果分析 1 设计目的 (1)熟悉掌握汉明码的重要公式和基本概念。 (2)利用MATLAB 编程,实现汉明码编译码设计。 (3)理解(7,4)汉明码的构造原理,掌握(7,4)汉明码的编码和译码的原理和设计步骤。 (4)对其仿真结果进行分析。 2 设计要求 (1)通过MATLAB 编程,设计出(7,4)汉明码的编码程序。 (2)编码后加入噪声,然后译码,画出信噪比与误比特数和信噪比与误比特率的仿真图。 (3)然后对其结果进行分析。 3 设计步骤 3.1 线性分组码的一般原理 线性分组码的构造 3.1.1 H 矩阵 根据(7, 4)汉明码可知一般有 现在将上面它改写为 上式中已经将“⊕”简写成“+”。 上式可以表示成如下矩阵形式: ??? ??=⊕⊕⊕=⊕⊕⊕=⊕⊕⊕0 000346 13562456a a a a a a a a a a a a ?? ? ?? =?+?+?+?+?+?+?=?+?+?+?+?+?+?=?+?+?+?+?+?+?010011010010101100010111012345601234560123456a a a a a a a a a a a a a a a a a a a a a (1) (2)

matlab在统计数据的描述性分析的应用

统计数据的描述性分析 一、实验目的 熟悉在matlab中实现数据的统计描述方法,掌握基本统计命令:样本均值、样本中位数、样本标准差、样本方差、概率密度函数pdf、概率分布函数df、随机数生成rnd。 二、实验内容 1 、频数表和直方图 数据输入,将你班的任意科目考试成绩输入 >> data=[91 78 90 88 76 81 77 74]; >> [N,X]=hist(data,5) N = 3 1 1 0 3 X = 75.7000 79.1000 82.5000 85.9000 89.3000 >> hist(data,5)

2、基本统计量 1) 样本均值 语法: m=mean(x) 若x 为向量,返回结果m是x 中元素的均值; 若x 为矩阵,返回结果m是行向量,它包含x 每列数据的均值。 2) 样本中位数 语法: m=median(x) 若x 为向量,返回结果m是x 中元素的中位数; 若x 为矩阵,返回结果m是行向量,它包含x 每列数据的中位数3) 样本标准差 语法:y=std(x) 若x 为向量,返回结果y 是x 中元素的标准差; 若x 为矩阵,返回结果y 是行向量,它包含x 每列数据的标准差

std(x)运用n-1 进行标准化处理,n是样本的个数。 4) 样本方差 语法:y=var(x); y=var(x,1) 若x 为向量,返回结果y 是x 中元素的方差; 若x 为矩阵,返回结果y 是行向量,它包含x 每列数据的方差 var(x)运用n-1 进行标准化处理(满足无偏估计的要求),n 是样本的个数。var(x,1)运用n 进行标准化处理,生成关于样本均值的二阶矩。 5) 样本的极差(最大之和最小值之差) 语法:z= range(x) 返回结果z是数组x 的极差。 6) 样本的偏度 语法:s=skewness(x) 说明:偏度反映分布的对称性,s>0 称为右偏态,此时数据位于均值右边的比左边的多;s<0,情况相反;s 接近0 则可认为分布是对称的。 7) 样本的峰度 语法:k= kurtosis(x) 说明:正态分布峰度是3,若k 比3 大得多,表示分布有沉重的尾巴,即样本中含有较多远离均值的数据,峰度可以作衡量偏离正态分布的尺度之一。 >> mean(data) ,

00实验三 基于MATLAB的根轨迹绘制与性能分析

实验四基于MATLAB的根轨迹绘制与性能分析 [实验目的] 1.掌握MATLAB下的根轨迹绘制方法; 2.学会利用根轨迹进行系统分析。 [实验指导] 1.根轨迹作图函数(命令):rlocus( ) 调用格式: ①rlocus(sys) 或rlocus(num,den) ②rlocus(sys,k) ①②画根轨迹图,①变化参量(一般是根轨迹增益)范围系统自动给出; ②变化参量(一般是根轨迹增益)范围在程序中给出; ③r=rlocus(sys) ④ [r,k]=rlocus(sys) ③④不画根轨迹图,③返回闭环根向量;④返回闭环根向量(r)和变化参量(k)。 2.根与根轨迹增益的求取 ⑴在根轨迹上点击,可得到该点的根值和对应的根轨迹增益值。 ⑵使用计算给定根的根轨迹增益的函数(命令):rlocfind( ) 调用格式: ①[k,poles]=rlocfind(sys) ②[k,poles]= rlocfind(sys,p) 使用方法:

①首先,当前根轨迹已绘出。运行该命令时,在根轨迹图中显示出十字光标,当用户选择其中一点时,其相应的增益由k 记录,与增益相关的所有极点记录poles 中;同时,在命令行窗口显示出来。 ②事先事先给出极点p ,运行该命令时,除了显示出该根对应的增益以外,还显示出该增益对应的其它根。 3.开环零点极点位置绘图函数(命令): pzmap( ) 调用格式: ① pzmap(sys) ② [p,z]=pzmap(sys) 函数功能: 给定系统数学模型,作出开环零点极点位置图。 ① 零点极点绘图命令。零点标记为“+”,极点标记为“o”。 ② 返回零点极点值,不作图。 4.根轨迹渐进线的绘制 当根轨迹渐进线与实轴的交点σa 已求出后,可得到方程11()n m a K s σ-=--, 这是根轨迹渐进线的轨迹方程。 将1()() n m a K G s s σ-= -作为一个开环传递函数,录入到MATLAB 中,再使用根 轨迹作图函数(命令)rlocus( ),生成的轨迹就是原根轨迹的渐进线。 5.举例 例1:开环传递函数1 ()(1)(2) K G s s s s =++绘制其闭环根轨迹。 程序: >> z=[];p=[0,-1,-2];k=1;sys=zpk(z,p,k);rlocus(sys) 运行结果:

MATLAB数据分析与多项式计算(M)

第7章 MATLAB数据分析与多项式计算 6.1 数据统计处理 6.2 数据插值 6.3 曲线拟合 6.4 离散傅立叶变换 6.5 多项式计算 6.1 数据统计处理 6.1.1 最大值和最小值 MATLAB提供的求数据序列的最大值和最小值的函数分别为max 和min,两个函数的调用格式和操作过程类似。 1.求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用格式,分别是: (1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。 (2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。 求向量X的最小值的函数是min(X),用法和max(X)完全相同。 例6-1 求向量x的最大值。 命令如下: x=[-43,72,9,16,23,47]; y=max(x) %求向量x中的最大值 [y,l]=max(x) %求向量x中的最大值及其该元素的位置 2.求矩阵的最大值和最小值 求矩阵A的最大值的函数有3种调用格式,分别是: (1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i 列上的最大值。 (2) [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。 (3) max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。 求最小值的函数是min,其用法和max完全相同。

例6-2 分别求3×4矩阵x中各列和各行元素中的最大值,并求整个矩阵的最大值和最小值。 3.两个向量或矩阵对应元素的比较 函数max和min还能对两个同型的向量或矩阵进行比较,调用格式为: (1) U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与A,B 同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。 (2) U=max(A,n):n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。 min函数的用法和max完全相同。 例6-3 求两个2×3矩阵x, y所有同一位置上的较大元素构成的新矩阵p。 6.1.2 求和与求积 数据序列求和与求积的函数是sum和prod,其使用方法类似。设X是一个向量,A是一个矩阵,函数的调用格式为: sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘积。 sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。 prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。 sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。 prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。 例6-4 求矩阵A的每行元素的乘积和全部元素的乘积。 6.1.3 平均值和中值 求数据序列平均值的函数是mean,求数据序列中值的函数是median。两个函数的调用格式为: mean(X):返回向量X的算术平均值。 median(X):返回向量X的中值。

Matlab对采样数据进行频谱分析

使用Matlab对采样数据进行频谱分析 1、采样数据导入Matlab 采样数据的导入至少有三种方法。 第一就是手动将数据整理成Matlab支持的格式,这种方法仅适用于数据量比较小的采样。 第二种方法是使用Matlab的可视化交互操作,具体操作步骤为:File --> Import Data,然后在弹出的对话框中找到保存采样数据的文件,根据提示一步一步即可将数据导入。这种方法适合于数据量较大,但又不是太大的数据。据本人经验,当数据大于15万对之后,读入速度就会显著变慢,出现假死而失败。 第三种方法,使用文件读入命令。数据文件读入命令有textread、fscanf、load 等,如果采样数据保存在txt文件中,则推荐使用 textread命令。如 [a,b]=textread('data.txt','%f%*f%f'); 这条命令将data.txt中保存的数据三个三个分组,将每组的第一个数据送给列向量a,第三个数送给列向量b,第二个数据丢弃。命令类似于C语言,详细可查看其帮助文件。文件读入命令录入采样数据可以处理任意大小的数据量,且录入速度相当快,一百多万的数据不到20秒即可录入。强烈推荐! 2、对采样数据进行频谱分析 频谱分析自然要使用快速傅里叶变换FFT了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b即是采样数据,N为fft数据采样个数。一般不指定N,即简化为Y=fft(b)。Y即为FFT变换后得到的结果,与b的元素数相等,为复数。以频率为横坐标,Y数组每个元素的幅值为纵坐标,画图即得数据b的幅频特性;以频率为横坐标,Y数组每个元素的角度为纵坐标,画图即得数据b的相频特性。典型频谱分析M程序举例如下: clc fs=100; t=[0:1/fs:100]; N=length(t)-1;%减1使N为偶数 %频率分辨率F=1/t=fs/N p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t); %上面模拟对信号进行采样,得到采样数据p,下面对p进行频谱分析 figure(1) plot(t,p); grid on title('信号 p(t)'); xlabel('t') ylabel('p')

matlab性能分析

Matlab 程序性能分析 一、简单计算程序运行时间:tic,toc—— Measure performance using stopwatch timer 基本用法:tStart=tic; any_statements; tElapsed=toc(tStart); 计时单位是“秒”;tic用于设置计时器开始,toc设置计时器结束;手册说tStart是一个64位的整数,仅用于toc参数时有意义,经测试tic是微妙级的计时器。示例: some_time = rand * 2 %% example 1: time measured by tic-toc tStart = tic; pause(some_time); tElapsed_toc = toc(tStart) %% example 2: time measured by tic-tic tStart = tic; pause(some_time); tElapsed_tic = double(tic-tStart) / 1000000 %% example 3: time measured by tic-tocs tStart = tic; pause(some_time); tElapsed_toc1 = toc(tStart) some_time = rand * 2 pause(some_time); tElapsed_toc2 = toc(tStart) tElapsed_toc_toc = tElapsed_toc2 - tElapsed_toc1 示例1展示了tic-toc的基本用法,示例2展示了只用tic实现的计时功能,示例3展示了利用一个tic和多个toc实现程序的分段计时。 二、不推荐使用的程序计时工具:cputime 和 clock & etime cputime的用法:t = cputime; any_statements; e = cputime-t clock & etime的用法:t = clock; any_statements; e = etime(clock, t) Matlab推荐用tic-toc计时,而不是这两种计时工具,具体请参考帮助文档。 三、全面分析程序运行时间:Profiler profile 只能分析Matlab代码编写的函数的运行时间(如ls,magic等),若函数非Matlab代码(如svd,dir等),无法分析其运行时间。 1、启动Profiler的三种方法 (1)从菜单栏启动:Desktop --> Profiler; (2)从Matlab的Editor中启动:Tools --> Open Profiler; (3)从命令行启动:profile -history -historysize integer-timer clock on

相关性分析

相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。相关性不等于因果性,也不是简单的个性化,相关性所涵盖的范围和领域几乎覆盖了我们所见到的方方面面,相关性在不同的学科里面的定义也有很大的差异。 差时,他们的相关性就会受到削弱。 世界上的任何事物之间存在的关系无非三种: 1、函数关系,如时间和距离, 2、没有关系,如你老婆的头发颜色和目前的房价 3、相关关系,两者之间有一定的关系,但不是函数关系。这种密切程度可以用一个数值来表示,|1|表示相关关系达到了函数关系,从1到-1之间表示两者之间关系的密切程度,例如0.8。 相关分析用excel可以实现 说判定有些严格,其实就是观察一下各个指标的相关程度。一般来说相关性越是高,做主成分分析就越是成功。主成分分析是通过降低空间维度来体现所有变量的特征使得样本点分散程度极大,说得直观一点就是寻找多个变量的一个加权平均来反映所有变量的一个整体性特征。 评价相关性的方法就是相关系数,由于是多变量的判定,则引出相关系数矩阵。 评价主成分分析的关键不在于相关系数的情况,而在于贡献率,也就是根据主成分分析的原理,计算相关系数矩阵的特征值和特征向量。 相关系数越是高,计算出来的特征值差距就越大,贡献率等于前n个大的特征值除以全部特征值之和,贡献率越是大说明主成分分析的效果越好。反之,变量之间相关性越差。 举个例子来说,在二维平面内,我们的目的就是把它映射(加权)到一条直线上并使得他们分散的最开(方差最大)达到降低维度的目的,如果所有样本点都在一条直线上(也就是相关系数等于1或者-1),这样的效果是最好的。再假设样本点呈现两条垂直的形状(相关系数等于零),你要找到一条直线来做映射就很难了。 SPSS软件的特点 一、集数据录入、资料编辑、数据管理、统计分析、报表制作、图形绘制为一体。从理论上说,只要计算机硬盘和内存足够大,SPSS可以处理任意大小的数据文件,无论文件中包含多少个变量,也不论数据中包含多少个案例。 二、统计功能囊括了《教育统计学》中所有的项目,包括常规的集中量数和差异量数、相关分析、回归分析、方差分析、卡方检验、t检验和非参数检验;也包括近期发展的多元统计技术,如多元回归分析、聚类分析、判别分析、主成分分析和因子分析等方法,并能在屏幕(或打印机)上显示(打印)如正态分布图、直方图、散点图等各种统计 大数据并不是说它大,而是指其全面。它收集全方位的信息来交叉验证,应用在各个领域。比如银行,你可以去银行贷款,而银行可能会把钱借给你,为什么??因为在大数据时代,它可以通过一系列信息,通过交叉复现得知你很多东西,比如你的住址,是什么样的校区?

基于matlab的gold码的生成及相关性分析

clc; N=7; %以7级寄存器为例,并组其中的一组优选对:211,,217 connections=gfprimfd(N,'all'); f1=connections(4,:); %取一组本原多项式序列,211 f2=connections(16,:); %取另一组本原多项式序列,217 registers1=[0 0 0 0 0 0 1];%给定寄存器的初始状态 registers2=[0 0 0 0 0 0 1];%取相同的初始状态 L=2^N-1; %周期长度 sum2=0; sum1=0; for k=1:L seq1(k)=registers1(N); %第一组m序列 seq2(k)=registers2(N); %第二组序列 for j=1:N %进行模2加 sum1=sum1+f1(j+1)*registers1(j); %各级寄存器送参与模2加的值sum1=mod(sum1,2); sum2=sum2+f2(j+1)*registers2(j); %各级寄存器送参与模2加的值sum2=mod(sum2,2); end for t=N:-1:2 %寄存器移位 registers1(t)=registers1(t-1); registers2(t)=registers2(t-1); end registers1(1)=sum1; registers2(1)=sum2; sum2=0; sum1=0; end disp(f1); disp(f2); z=seq1+seq2; %m序列的相加 gold=mod(z,2); %模2运算 gold=1-2*gold; %转换为2值电平 disp(gold); R=xcorr(gold,'unbiased'); %自相关 R=R/max(R); %归一化 figure;plot(R);title('gold序列的自相关函数'); s=fftshift(abs(fft(gold,2*L)).^2); %求功率谱 s=s/max(s); figure;plot(s);title('gold序列的功率谱');

利用matlab分析系统动态性能

利用matlab分析系统动态性能

控制系统的时域分析 一.系统阶跃响应的性能指标 表 1 系统性能指标 利用 matlab 程序求出各系统阶跃响应的性能指标及图像,如求原系统 1 的方程: num=1.05; den=conv([0.125,1],conv([0.5,1],[1,1,1])); G=tf(num,den); C=dcgain(G); [y,t]=step(G); plot(t,y) grid [Y,K]=max(y); tp=t(K) mp=100*(Y-C)/C n=1; while y(n)0.98*C)&&(y(i)<1.02*C) i=i-1; end ts=t(i)

图 1 系统 1 阶跃响应曲线图二.根据系统性能指标及图像分析系统 1.利用 Matlab 得各系统节约系统曲线,如图 2:num1=1.05; den1=conv([0.125,1],conv([0.5,1],[1,1,1])); G1=tf(num1,den1); [y1,t1]=step(G1); num2=1.05*[0.4762,1]; den2=conv([0.125,1],conv([0.5,1],[1,1,1])); G2=tf(num2,den2); [y2,t2]=step(G2); num3=1.05*[1,1]; den3=conv([0.125,1],conv([0.5,1],[1,1,1])); G3=tf(num3,den3); [y3,t3]=step(G3); num4=1.05*[0.4762,1]; den4=conv([0.25,1],conv([0.5,1],[1,1,1])); G4=tf(num4,den4); [y4,t4]=step(G4); num5=1.05*[0.4762,1]; den5=conv([0.5,1],[1,1,1]); G5=tf(num5,den5); [y5,t5]=step(G5); num6=1.05; den6=[1,1,1]; G6=tf(num6,den6);

MATLAB-智能算法30个案例分析-终极版(带目录)

MATLAB 智能算法30个案例分析(终极版) 1 基于遗传算法的TSP算法(王辉) 2 基于遗传算法和非线性规划的函数寻优算法(史峰) 3 基于遗传算法的BP神经网络优化算法(王辉) 4 设菲尔德大学的MATLAB遗传算法工具箱(王辉) 5 基于遗传算法的LQR控制优化算法(胡斐) 6 遗传算法工具箱详解及应用(胡斐) 7 多种群遗传算法的函数优化算法(王辉) 8 基于量子遗传算法的函数寻优算法(王辉) 9 多目标Pareto最优解搜索算法(胡斐) 10 基于多目标Pareto的二维背包搜索算法(史峰) 11 基于免疫算法的柔性车间调度算法(史峰) 12 基于免疫算法的运输中心规划算法(史峰) 13 基于粒子群算法的函数寻优算法(史峰) 14 基于粒子群算法的PID控制优化算法(史峰) 15 基于混合粒子群算法的TSP寻优算法(史峰) 16 基于动态粒子群算法的动态环境寻优算法(史峰) 17 粒子群算法工具箱(史峰) 18 基于鱼群算法的函数寻优算法(王辉) 19 基于模拟退火算法的TSP算法(王辉) 20 基于遗传模拟退火算法的聚类算法(王辉) 21 基于模拟退火算法的HEV能量管理策略参数优化(胡斐)

22 蚁群算法的优化计算——旅行商问题(TSP)优化(郁磊) 23 基于蚁群算法的二维路径规划算法(史峰) 24 基于蚁群算法的三维路径规划算法(史峰) 25 有导师学习神经网络的回归拟合——基于近红外光谱的汽油辛烷值预测(郁磊) 26 有导师学习神经网络的分类——鸢尾花种类识别(郁磊) 27 无导师学习神经网络的分类——矿井突水水源判别(郁磊) 28 支持向量机的分类——基于乳腺组织电阻抗特性的乳腺癌诊断(郁磊) 29 支持向量机的回归拟合——混凝土抗压强度预测(郁磊) 30 极限学习机的回归拟合及分类——对比实验研究(郁磊) 智能算法是我们在学习中经常遇到的算法,主要包括遗传算法,免疫算法,粒子群算法,神经网络等,智能算法对于很多人来说,既爱又恨,爱是因为熟练的掌握几种智能算法,能够很方便的解决我们的论坛问题,恨是因为智能算法感觉比较“玄乎”,很难理解,更难用它来解决问题。 因此,我们组织了王辉,史峰,郁磊,胡斐四名高手共同写作MATLAB智能算法,该书包含了遗传算法,免疫算法,粒子群算法,鱼群算法,多目标pareto算法,模拟退火算法,蚁群算法,神经网络,SVM等,本书最大的特点在于以案例为导向,每个案例针对一

Matlab大数据处理

Matlab大数据处理2:硬盘访问.mat文件 分类:Matlab Hack2013-09-08 20:16 146人阅读评论(0) 收藏举报Matlab程序中经常要访问.mat文件,通常在作法是用load函数直接加载.mat文件。如果.mat文件非常大,超过了系统可用内存的时候该怎么办呢?Matlab2013b为提供了matfile函数,matfile函数可以通过索引直接访问.mat文件中的Matlab变量,而无需将.mat文件加载入内存。 matfile有两种用法: m = matfile(filename),用文件名创建matfile对象,通过这个对象可以直接访问mat文件中的matlab变量。 m = matfile(filename,'Writable',isWritable),isWritable开启或关闭文件写操作。 使用示例: 1. 向mat文件中写入变量 x = magic(20); m = matfile('myFile.mat'); % 创建一个指向myFile.mat的matfile对象 m.x = x; % 写入x m.y(81:100,81:100) = magic(20); % 使用坐标索引

2. 加载变量 filename = 'topography.mat'; m = matfile(filename); topo = m.topo; %读取变量topo [nrows,ncols] = size(m,'stocks'); %读取stocks变量的size avgs = zeros(1,ncols); for idx = 1:ncols avgs(idx) = mean(m.stocks(:,idx)); end 3. 开启写权限 filename = 'myFile.mat'; m = matfile(filename,'Writable',true); 或者 m.Properties.Writable = true;

MATLAB程序设计实验分析报告

MATLAB程序设计实验报告

————————————————————————————————作者:————————————————————————————————日期:

MATLAB 程序设计实验报告 一、实验目的 1. 通过实验熟悉MA TLAB 仿真软件的使用方法; 2. 掌握用MATLAB 对连续信号时域分析、频域分析和s 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 3. 掌握用MATLAB 对离散信号时域分析、频域分析和z 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 4. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。 二、实验设备 1. 计算机 2. MA TLAB R2007a 仿真软件 三、实验原理 1.MATLAB 对系统的时域分析 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 (1)信号的相加和相乘:已知信号)(1t f 和)(2t f ,信号相加和相乘记为 )()(1t f t f =)(2t f +;)()(1 t f t f =)(2t f *。 (2)信号的微分和积分:对于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function,’variable ’,n),其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function,’variable ’,a,b),其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a 和b 省略时为求不定积分。 (3)信号的平移、翻转和尺度变换 信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号)(t f 的面积和能量。信号的尺度变换是对信号)(t f 在时间轴上的变化,可使信号压缩或扩展。)(at f 将原波形压缩a 倍,)/(a t f 将原波形扩大a 倍。 2.MATLAB 对系统频率特性的分析 (1)系统的频率响应 设线性时不变(LTI )系统的冲激响应为)(t h ,该系统的输入(激励)信号为)(t f ,则

(完整版)功率谱估计性能分析及Matlab仿真

功率谱估计性能分析及Matlab 仿真 1 引言 随机信号在时域上是无限长的,在测量样本上也是无穷多的,因此随机信号的能量是无限的,应该用功率信号来描述。然而,功率信号不满足傅里叶变换的狄里克雷绝对可积的条件,因此严格意义上随机信号的傅里叶变换是不存在的。因此,要实现随机信号的频域分析,不能简单从频谱的概念出发进行研究,而是功率谱[1]。 信号的功率谱密度描述随机信号的功率在频域随频率的分布。利用给定的 N 个样本数据估计一个平稳随机信号的功率谱密度叫做谱估计。谱估计方法分为两大类:经典谱估计和现代谱估计。经典功率谱估计如周期图法、自相关法等,其主要缺陷是描述功率谱波动的数字特征方差性能较差,频率分辨率低。方差性能差的原因是无法获得按功率谱密度定义中求均值和求极限的运算[2]。分辨率低的原因是在周期图法中,假定延迟窗以外的自相关函数全为0。这是不符合实际情况的,因而产生了较差的频率分辨率。而现代谱估计的目标都是旨在改善谱估计的分辨率,如自相关法和Burg 法等。 2 经典功率谱估计 经典功率谱估计是截取较长的数据链中的一段作为工作区,而工作区之外的数据假设为0,这样就相当将数据加一窗函数,根据截取的N 个样本数据估计出其功率谱[1]。 周期图法( Periodogram ) Schuster 首先提出周期图法。周期图法是根据各态历经的随机过程功率谱的定义进行的谱估计。 取平稳随机信号()x n 的有限个观察值(0),(1),...,(1)x x x n -,求出其傅里叶变换 1 ()()N j j n N n X e x n e ω ω---==∑ 然后进行谱估计

matlab程序中功率谱分析的经典常用方法

一、直接法 clear;clc;close all; %清除变量;清屏;关闭当前图形窗口 Fs=1000; t=0:1/Fs:1; nfft=2048; %改变nfft的值可对比不同采样值时的谱估计效果 %****************生成信号、噪声**************% x1=cos(2*pi*40*t)+3*cos(2*pi*45*t);%信号 x2=randn(size(t)); %噪声 x3=x1+x2; %信号+噪声 [Pxx,f]=periodogram(x3,window,nfft,Fs); %直接法 plot(f,10*log10(Pxx)); title('直接法 nfft=2048'); set(gca,'xlim',[1 120]); ylabel('Am/dB'); xlabel('Frequency/Hz'); 二、间接法 Fs=1000;% 采样频率 n=0:1/Fs:1;% 产生含有噪声的序列 x1=cos(2*pi*40*n)+3*cos(2*pi*45*n);%信号x2=randn(size(n)); %噪声x3=x1+x2; %信号+噪声 nfft=1024; cxn=xcorr(x3);% 计算序列的自相关函数 CXk=fft(cxn); Pxx=abs(CXk); index=0:round(nfft/2-1); f=index*Fs/nfft; plot_Pxx=10*log10(Pxx(index+1)); figure (1) plot(f,plot_Pxx); title('间接法 nfft=1024');ylabel('Am/dB'); set(gca,'xlim',[1 120]); xlabel('Frequency/Hz'); 三、Bartlett法 clear;clc;close all; %清除变量;清屏;关闭当前图形窗口 Fs=1000; t=0:1/Fs:1; nfft=1024; %****************生成信号、噪声**************% x1=cos(2*pi*40*t)+3*cos(2*pi*45*t);%信号 x2=randn(size(t)); %噪声 x3=x1+x2; %信号+噪声 window=hamming(512); %海明窗 noverlap=0; %数据无重叠 p=0.9; %置信概率 [Pxx,Pxxc]=psd(x3,nfft,Fs,window,noverlap,p); index=0:round(nfft/2-1); k=index*Fs/nfft; plot_Pxx=10*log10(Pxx(index+1)); plot_Pxxc=10*log10(Pxxc(index+1)); figure(1) plot(k,plot_Pxx);title('Bartlett法海明窗');; set(gca,'xlim',[1120]);ylabel('Am/dB'); xlabel('Frequency/Hz'); 四、Welch法

第6章matlab数据分析与多项式计算_习题答案

第6章 MATLAB数据分析与多项式计算 习题6 一、选择题 1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。B A.1 B.3 C.5 D.7 2.已知a为3×3矩阵,则运行mean(a)命令是()。B A.计算a每行的平均值 B.计算a每列的平均值 C.a增加一行平均值 D.a增加一列平均值 3.在MATLAB命令行窗口输入下列命令: >> x=[1,2,3,4]; >> y=polyval(x,1); 则y的值为()。 D A.5 B.8 C.24 D.10 4.设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。D A.一个是标量,一个是方阵 B.都是标量 C.值相等 D.值不相等 5.在MATLAB命令行窗口输入下列命令: >> A=[1,0,-2]; >> x=roots(A); 则x(1)的值为()。 C A.1 B.-2 C. D. 6.关于数据插值与曲线拟合,下列说法不正确的是()。A A.3次样条方法的插值结果肯定比线性插值方法精度高。 B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。 C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到极小。 D.插值和拟合都是通过已知数据集来求取未知点的函数值。 二、填空题 1.设A=[1,2,3;10 20 30;4 5 6],则sum(A)= ,median(A)= 。 [15 27 39],[4 5 6[ 2.向量[2,0,-1]所代表的多项式是。2x2-1 3.为了求ax2+bx+c=0的根,相应的命令是(假定a、b、c已经赋值)。为了

应用回归分析 matlab程序自相关

4.13 表中是某软件公司月销售额数据,其中,x为总公司的月销售额(万元);y为某分公司的月销售额(万元)。 (1)用普通最小二乘法建立x和y的回归方程。 (2)用残差图及DW检验诊断序列的自相关性。 (3)用迭代法处理序列相关,并建立回归方程。 (4)用一阶差分法处理数据,并建立回归方程。 (5)比较以上各方法所建回归方程的优良性。 序号x y 序号x y 1 127.3 20.96 11 148.3 24.54 2 130.0 21.40 12 146.4 24.28 3 132.7 21.96 13 150.2 25.00 4 129.4 21.52 14 153.1 25.64 5 135.0 22.39 15 157.3 26.46 6 137.1 22.76 16 160. 7 26.98 7 141.1 23.48 17 164.2 27.52 8 142.8 23.66 18 165.6 27.78 9 145.5 24.10 19 168.7 28.24 10 145.3 24.01 20 172.0 28.78 (1)aa_size=size(aa,1) >> x=[ones(aa_size,1),aa(:,1)]; >> y=aa(:,2); >> b_est=inv(x'*x)*x'*y; b_est b_est = -1.4348 0.1762 (2) y_est=x*b_est; >> b1=y-y_est; >> plot(b1,'ro') p01=sum(b1(1:(aa_size-1)).*b1(2:(aa_size))); >> p02=sqrt(sum(b1(1:(aa_size-1)).^2)*sum(b1(2:aa_size).^2)); >> p=p01/p02 DW=2*(1-p) DW = 0.6793

用MATLAB进行控制系统的动态性能的分析报告

用MATLAB 进行控制系统的动态性能的分析 初始条件:已知三阶系统的闭环传递函数为 )64.08.0)(11 (7 .2)(2+++= s s s a s G 分析系统的动态性能。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、 用MATLAB 函数编程,求系统的动态性能指标。 2、 设64.08.02++s s 的根是系统的主导极点,编制程序,求系统的动态性能指标。 3、 用MATLAB 编制程序分析a =0.84,a =2.1,a =4.2系统的阶跃响应曲线,分析高阶系统忽略附加极点,近似为二阶系统的条件。 4、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB 程序和MATLAB 输出。说明书的格式按照教务处标准书写。 时间安排:

指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 用MATLAB 进行控制系统的动态性能的分析 1 MATLAB 函数编程 1.1 传递函数的整理 已知三阶系统的闭环传递函数为: )64.08.0)(11 (7 .2)(2+++= s s s a s G 整理成一般式可以得到: G(s)= a s a s a s a 64.0)8.064.0()8.0(7.223+++++, 其中a 为未知参数。从一般式可以看出系统没有零点,有三个极点(其中一个实数极点和一对共轭复数极点)。 1.2 动态性能指标的定义 上升时间r t :当系统的阶跃响应第一次达到稳态值的时间。上升时间是系统 响应速度的一种度量。上升时间越短,响应速度越快。 峰值时间p t :系统阶跃响应达到最大值的时间。最大值一般都发

相关文档