什么是伪matlab wigner ville-Ville分布

> 此程序是计算wigner-ville分布、伪wigner-ville分布和平滑伪wigner-ville分布的程序此程序是计算wigner-ville分布、伪wigner-ville分布和平滑伪wigner-ville分布的程序已有 432967个资源相关资源下载专区上传者其他资源其它热门资源本周本月全部文档信息资源大小:795B上 传 者: () 上传日期:资源类型:应用文档资源积分:1分评
论:下载次数:5参与讨论:标&&&&签:分&&&&享:下载资源需要,并消耗一定的积分文档简介此程序是计算wigner-ville分布、伪wigner-ville分布和平滑伪wigner-ville分布的程序,需要下载matlab时频分析工具箱相关帖子FAQ&&&&Q.为什么我点的下载下不了,但积分却被扣了A.由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。Q.我已经登录过账号,为什么还一直提示要求登录A.出现这种情况是浏览器缓存问题,建议清理浏览器缓存后重启浏览器重新登录下载资源意味着您已经同意遵守以下协议1. 资源的所有权益归上传用户所有2. 未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途3. EEWORLD下载频道仅提供交流平台,并不能对任何下载资源负责4. 下载资源中如有侵权或不适当内容,请5. 本站不保证本站提供的资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。大学堂最新课程若举报审核通过,可奖励2下载分举报人:被举报人:rubyonrails举报的资源分:1* 类型:请选择类型资源无法下载资源分类不正确资源无法使用标题与实际内容不符含有危害国家安全内容含有反动色情等内容含广告内容版权问题,侵犯个人或公司的版权其他* 详细原因:回到顶部EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱service(.cn 或通过站内短信息或QQ:联系管理员okhxyyo,我们会尽快处理。Wigner-Ville 自己写的一个计算空间时频分布的程序,魏格纳威尔 原代码 matlab 238万源代码下载-
&文件名称: Wigner-Ville
& & & & &&]
&&所属分类:
&&开发工具: matlab
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 13
&&提 供 者:
&详细说明:自己写的一个计算空间时频分布的程序,魏格纳威尔分布原代码-Wrote a frequency distribution calculating space program, Wigner distribution of the original code Weir
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&近期下载过的用户:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 此程序是计算wigner-ville分布、伪wigner-ville分布和平滑伪wigner-ville分布的程序,需要下载matlab时频分析工具箱
&[] - 计算信号的魏格纳分布。
用法见函数说明。
&[] - 对信号进行短时傅立叶变换以及Wigner-Ville分布分析的matlab程序
&[] - 自编程序分享-Wigner-Ville- Distribution,欢迎共享
&[] - 这是一个关于Wigner-Ville分布的线性预测算法的程序,大家看看可以作为参考资料研究一下了.
&[] - 提 出了基于修正空间 时频分布( S TF D) 矩阵 的 ES P RI T算法 以实现 对宽 带线性调 频信号 的到达
&[] - 非平稳信号处理中用维格纳时频分布进行两个正弦调频信号的波达方向的估计
&[] - 自己写的一个计算空间时频分布的程序,可知指定Cohen类分布类型WVD,CWD,PWVD,SPWVD,BJD原文地址:http://blog.codinglabs.org/articles/pca-tutorial.html
&&&& 在这一篇之前的内容是《Factor Analysis》,由于非常理论,打算学完整个课程后再写。在写这篇之前,我阅读了PCA、SVD和LDA。这几个模型相近,却都有自己的特点。本篇打算先介绍PCA,至于他们之间的关系,只能是边学边体会了。PCA以前也叫做Principal factor analysis。1. 问题
&&&& 真实的训练数据总是存在各种各样的问题:
1、 比如拿到一个汽车的样本,里面既有以“千米/每小时”度量的最大速度特征,也有“英里/小时”的最大速度特征,显然这两个特征有一个多余。
2、 拿到一个数学系的本科生期末考试成绩单,里面有三列,一列是对数学的兴趣程度,一列是复习时间,还有一列是考试成绩。我们知道要学好数学,需要有浓厚的兴趣,所以第二项与第一项强相关,第三项和第二项也是强相关。那是不是可以合并第一项和第二项呢?
3、 拿到一个样本,特征非常多,而样例特别少,这样用回归去直接拟合非常困难,容易过度拟合。比如北京的房价:假设房子的特征是(大小、位置、朝向、是否学区房、建造年代、是否二手、层数、所在层数),搞了这么多特征,结果只有不到十个房子的样例。要拟合房子特征-&房价的这么多特征,就会造成过度拟合。
4、 这个与第二个有点类似,假设在IR中我们建立的文档-词项矩阵中,有两个词项为“learn”和“study”,在传统的向量空间模型中,认为两者独立。然而从语义的角度来讲,两者是相似的,而且两者出现频率也类似,是不是可以合成为一个特征呢?
5、 在信号传输过程中,由于信道不是理想的,信道另一端收到的信号会有噪音扰动,那么怎么滤去这些噪音呢?
&&&& 回顾我们之前介绍的《模型选择和规则化》,里面谈到的特征选择的问题。但在那篇中要剔除的特征主要是和类标签无关的特征。比如“学生的名字”就和他的“成绩”无关,使用的是互信息的方法。
&&&& 而这里的特征很多是和类标签有关的,但里面存在噪声或者冗余。在这种情况下,需要一种特征降维的方法来减少特征数,减少噪音和冗余,减少过度拟合的可能性。
&&&& 下面探讨一种称作主成分分析(PCA)的方法来解决部分上述问题。PCA的思想是将n维特征映射到k维上(k&n),这k维是全新的正交特征。这k维特征称为主元,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。2. PCA计算过程
&&&& 首先介绍PCA的计算过程:
&&&& 假设我们得到的2维数据如下:
&&&& 行代表了样例,列代表特征,这里有10个样例,每个样例两个特征。可以这样认为,有10篇文档,x是10篇文档中“learn”出现的TF-IDF,y是10篇文档中“study”出现的TF-IDF。也可以认为有10辆汽车,x是千米/小时的速度,y是英里/小时的速度,等等。
&&&&&第一步分别求x和y的平均值,然后对于所有的样例,都减去对应的均值。这里x的均值是1.81,y的均值是1.91,那么一个样例减去均值后即为(0.69,0.49),得到
&&&&&第二步,求特征协方差矩阵,如果数据是3维,那么协方差矩阵是
&&&& 这里只有x和y,求解得
&&&& 对角线上分别是x和y的方差,非对角线上是协方差。协方差大于0表示x和y若有一个增,另一个也增;小于0表示一个增,一个减;协方差为0时,两者独立。协方差绝对值越大,两者对彼此的影响越大,反之越小。
&&&&&第三步,求协方差的特征值和特征向量,得到
&&&& 上面是两个特征值,下面是对应的特征向量,特征值0.对应特征向量为,这里的特征向量都归一化为单位向量。
&&&&第四步,将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。
&&&& 这里特征值只有两个,我们选择其中最大的那个,这里是1.,对应的特征向量是。
&&&&&第五步,将样本点投影到选取的特征向量上。假设样例数为m,特征数为n,减去均值后的样本矩阵为DataAdjust(m*n),协方差矩阵是n*n,选取的k个特征向量组成的矩阵为EigenVectors(n*k)。那么投影后的数据FinalData为
&&&& 这里是
&&&& FinalData(10*1) = DataAdjust(10*2矩阵)&特征向量
&&&& 得到结果是
&&&& 这样,就将原始样例的n维特征变成了k维,这k维就是原始特征在k维上的投影。
&&&& 上面的数据可以认为是learn和study特征融合为一个新的特征叫做LS特征,该特征基本上代表了这两个特征。
&&&& 上述过程有个图描述:
&&&& 正号表示预处理后的样本点,斜着的两条线就分别是正交的特征向量(由于协方差矩阵是对称的,因此其特征向量正交),最后一步的矩阵乘法就是将原始样本点分别往特征向量对应的轴上做投影。
&&&& 如果取的k=2,那么结果是
&&&& 这就是经过PCA处理后的样本数据,水平轴(上面举例为LS特征)基本上可以代表全部样本点。整个过程看起来就像将坐标系做了旋转,当然二维可以图形化表示,高维就不行了。上面的如果k=1,那么只会留下这里的水平轴,轴上是所有点在该轴的投影。
&&&& 这样PCA的过程基本结束。在第一步减均值之后,其实应该还有一步对特征做方差归一化。比如一个特征是汽车速度(0到100),一个是汽车的座位数(2到6),显然第二个的方差比第一个小。因此,如果样本特征中存在这种情况,那么在第一步之后,求每个特征的标准差,然后对每个样例在该特征下的数据除以。
&&&& 归纳一下,使用我们之前熟悉的表示方法,在求协方差之前的步骤是:
&&&& 其中是样例,共m个,每个样例n个特征,也就是说是n维向量。是第i个样例的第j个特征。是样例均值。是第j个特征的标准差。
&&&& 整个PCA过程貌似及其简单,就是求协方差的特征值和特征向量,然后做数据转换。但是有没有觉得很神奇,为什么求协方差的特征向量就是最理想的k维向量?其背后隐藏的意义是什么?整个PCA的意义是什么?3. PCA理论基础
&&&& 要解释为什么协方差矩阵的特征向量就是k维理想特征,我看到的有三个理论:分别是最大方差理论、最小错误理论和坐标轴相关度理论。这里简单探讨前两种,最后一种在讨论PCA意义时简单概述。3.1 最大方差理论
&&&& 在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。如前面的图,样本在横轴上的投影方差较大,在纵轴上的投影方差较小,那么认为纵轴上的投影是由噪声引起的。
因此我们认为,最好的k维特征是将n维样本点转换为k维后,每一维上的样本方差都很大。
&&&& 比如下图有5个样本点:(已经做过预处理,均值为0,特征方差归一)
&&&& 下面将样本投影到某一维上,这里用一条过原点的直线表示(前处理的过程实质是将原点移到样本点的中心点)。
&&&& 假设我们选择两条不同的直线做投影,那么左右两条中哪个好呢?根据我们之前的方差最大化理论,左边的好,因为投影后的样本点之间方差最大。
&&&& 这里先解释一下投影的概念:
&&&& 红色点表示样例,蓝色点表示在u上的投影,u是直线的斜率也是直线的方向向量,而且是单位向量。蓝色点是在u上的投影点,离原点的距离是(即或者)由于这些样本点(样例)的每一维特征均值都为0,因此投影到u上的样本点(只有一个到原点的距离值)的均值仍然是0。
&&&& 回到上面左右图中的左图,我们要求的是最佳的u,使得投影后的样本点方差最大。
&&&& 由于投影后均值为0,因此方差为:
&&&& 中间那部分很熟悉啊,不就是样本特征的协方差矩阵么(的均值为0,一般协方差矩阵都除以m-1,这里用m)。
&&&& 用来表示,表示,那么上式写作
&&&& 由于u是单位向量,即,上式两边都左乘u得,
&&&& We got it!就是的特征值,u是特征向量。最佳的投影直线是特征值最大时对应的特征向量,其次是第二大对应的特征向量,依次类推。
&&&& 因此,我们只需要对协方差矩阵进行特征值分解,得到的前k大特征值对应的特征向量就是最佳的k维新特征,而且这k维新特征是正交的。得到前k个u以后,样例通过以下变换可以得到新的样本。
&&&& 其中的第j维就是在上的投影。
&&&& 通过选取最大的k个u,使得方差较小的特征(如噪声)被丢弃。
&&&& 这是其中一种对PCA的解释,第二种是错误最小化,放在下一篇介绍。
原文地址:.cn/s/blog_0x7fv.html
梯度、散度和旋度是矢量分析里的重要概念。之所以是“分析”,因为三者是三种偏导数计算形式。这里假设读者已经了解了三者的定义。它们的符号分别记作如下:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
从符号中可以获得这样的信息:
①求梯度是针对一个标量函数,求梯度的结果是得到一个矢量函数。这里φ称为势函数;
②求散度则是针对一个矢量函数,得到的结果是一个标量函数,跟求梯度是反一下的;
③求旋度是针对一个矢量函数,得到的还是一个矢量函数。
这三种关系可以从定义式很直观地看出,因此可以求“梯度的散度”、“散度的梯度”、“梯度的旋度”、“旋度的散度”和“旋度的旋度”,只有旋度可以连续作用两次,而一维波动方程具有如下的形式
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(1)
其中a为一实数,于是可以设想,对于一个矢量函数来说,要求得它的波动方程,只有求它的“旋度的旋度”才能得到。下面先给出梯度、散度和旋度的计算式:
&&&&&&&&&&&&&&&&&&&&&&&&&(2)
&&&&&&&&&&&&&&&&&&&&&&&&&&(3)
&&&&&&&&&&&&&&&&&&&&&&&&&&&(4)
旋度公式略显复杂。这里结合麦克斯韦电磁场理论,来讨论前面几个“X度的X度”。
I.梯度的散度:
根据麦克斯韦方程有:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(5)
则电势的梯度的散度为
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
这是一个三维空间上的标量函数,常记作
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(6)
称为泊松方程,而算符▽2称为拉普拉斯算符。事实上因为定义
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
当然,这只是一种记忆方式。
当空间内无电荷分布时,即ρ=0,则称为拉普拉斯方程
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
当我们仅需要考虑一维情况时,比如电荷均匀分布的无限大平行板电容器之间(不包含极板)的电场,我们知道该电场只有一个指向,场强处处相等,于是该电场满足一维拉普拉斯方程,即
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
这就是说如果那边平行板电容器的负极板接地,则板间一点处的电压与该点距负极板的距离呈线性关系。
II.散度的梯度:
散度的梯度,从上面的公式中可以看到结果会比较复杂,但是它的物理意义却是很明确的,因为从麦克斯韦方程可以看出空间某点处电场的散度是该点处的电荷密度,那么再求梯度就是空间中电荷密度的梯度。这就好比说清水中滴入一滴红墨水,起初水面红色浓度最高,杯底浓度最低,这样水面与杯底形成一个浓度梯度,红墨水由水面向杯底扩散,最后均匀。在半导体中,载流子分布的不均匀会导致扩散电流。
散度的梯度这个概念其实不常用,因为计算复杂,但在后面讲用它来推导一个矢量恒等式。
III.梯度的旋度:
对于梯度的旋度,直接把(2)式代入(4)式中,有
由于势函数在空间一点的领域内往往是有二阶连续混合偏导数的,因此上式的结果为0.所以说梯度的旋度为零,它的物理意义也是很明确的。
比如一个人从海平面爬到一座山上,无论它是从山的陡坡爬上去还是从缓坡爬上去,亦或者坐直升机上去,重力对他所做的功总是相等的,即力场的做工只与位移有关,而与路径无关,这样的场称为保守场,而保守场是无旋场。再比如绘有等高线的地图,如果某点只有一个一根等高线穿过,那么该点有一个确定的相对高度。如果该点有两条或以上的等高线穿过,则这个点处在悬崖边上,这个点处是不可微,也就没有求梯度的意义。
IV.旋度的散度:
求旋度的散度也是将(4)式代入(3)式即可。若令
&&&&&&&&&&&&&&&&&&&&&&&&&&&&(7)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
将上面三式相加结果也为零。所以说旋度的散度为零,这就意味着一个散度场任意叠加上一个有旋场不会改变其散度,也就是说光凭矢量场的散度无法唯一地确定这个矢量场。而光凭矢量场的旋度也无法唯一地确定这个矢量,这是因为有旋场可以叠加上这么一个矢量场而不改变其旋度,而这个矢量场是一个标量函数的梯度。
V.旋度的旋度:
旋度的旋度将是本文的重点。若所研究的空间范围内是无源的,即ρ=0,J=0,则根据麦克斯韦方程有:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(8)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(9)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(10)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(11)
对(9)式两端取旋度
&&&&&&&&&&&&&&&&&&&&&&&&&&(12)
再将(8)式代入(12)式有
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(13)
看到这里容易让人想到式(1),前面说式(1)的方程为一维波动方程,那么跟(13)式有什么联系呢?棘手的问题是算旋度已经够复杂了,算旋度的旋度岂不是更费周折?幸好有矢量恒等式可以利用来帮助简化计算,这里要用到前面所讲的散度的梯度。即有:
&&&&&&&&&&&&&&&&&&&&&&&&&&(14)
这里拉普拉斯算子作用于一个矢量函数时,意义变得不明确了,它和前面的几个“X度的X度”都不一样,实际上它有这样的定义:
&&&&&&&&&&&&&&&&&&&&&&&&(15)
为了验证式(14)还是要对计算“旋度的旋度”,但以后可以直接利用该式。还是做(7)式那样的处理,即令
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&(16)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&(17)
两式相减有
&&&&&&&&&&&&&&&(18)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
由于所关心的空间内是无源的,所以式(13)变成
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(19)
这个方程很重要,称为三维波动方程,这也从理论上揭示了电磁波的存在。它的各分量展开后比较复杂,实际上我们无法绘制出一个向四面八方传播的波的振动图像,但好在可以画出一维和二维的波,从而了解波的性质。有些事物我们无法在现实世界中呈现,或绘制出图形,但是数学上却可以计算且有确切的物理意义,比如高于三维的空间,不得不感叹数学的神奇,感叹我们生活的世界的神奇。
VI.几个矢量恒等式:
前面已经介绍了一个矢量恒等式,还有其他几个重要的恒等式。由于三种“度”是三种不同微分算法,虽然有些场合可以把▽当做一个普通的矢量来处理,但并不总是正确的,这一点需要引起注意。
这里“&”乘的优先级高于“&”乘对于普通三个不共面的矢量A、B、C则有A&B&C=C&A&B=B&C&A。得到的结果是令三个矢量共起点,以三个矢量的模为棱构成的六面体的体积或它的负值。但是对于▽算子,则一般
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
但是一般有
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
实际上上面的矢量恒等式就是上式的扩展
上两式相减有
记忆上式的方法是记住下标的顺序是xyz,yzx和zxy。
这个等式相对容易证明,但前提是要在直角坐标下。
原文地址:.cn/s/blog_4a0a8b5d0101qxuh.html
原文地址:.cn/s/blog_6163bdeb0102dvwe.html
命令 β分布的参数a和b的最大似然估计值和置信区间
函数&betafit
格式 PHAT=betafit(X)
[PHAT,PCI]=betafit(X,ALPHA)
说明 PHAT为样本X的β分布的参数a和b的估计量
PCI为样本X的β分布参数a和b的置信区间,是一个2&2矩阵,其第1例为参数a的置信下界和上界,第2例为b的置信下界和上界,ALPHA为显著水平,(1-α)&100%为置信度。
命令 正态分布的参数估计
函数&normfit
格式 [muhat,sigmahat,muci,sigmaci] = normfit(X)
[muhat,sigmahat,muci,sigmaci] = normfit(X,alpha)
说明 muhat,sigmahat分别为正态分布的参数μ和σ的估计值,muci,sigmaci分别为置信区间,其置信度为(1-alpha)*100%;alpha给出显著水平α,缺省时默认为0.05,即置信度为95%。
命令 利用mle函数进行参数估计
格式 phat=mle('dist',X) %返回用dist指定分布的最大似然估计值
[phat, pci]=mle('dist',X) %置信度为95%
[phat, pci]=mle('dist',X,alpha) %置信度由alpha确定
[phat, pci]=mle('dist',X,alph,pl) %仅用于二项分布,pl为试验次数。
说明 dist为分布函数名,如:beta(分布)、bino(二项分布)等,X为数据样本,alpha为显著水平α,(1-alpha)*100%为置信度。
调 用 形 式
函 数 说 明
PHAT= binofit(X, N)
[PHAT, PCI] = binofit(X,N)
[PHAT, PCI]= binofit (X, N, ALPHA)
二项分布的概率的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的参数估计和置信区间
Lambdahat=poissfit(X)
[Lambdahat, Lambdaci] = poissfit(X)
[Lambdahat, Lambdaci]= poissfit (X, ALPHA)
泊松分布的参数的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的λ参数和置信区间
[muhat,sigmahat,muci,sigmaci] = normfit(X)
[muhat,sigmahat,muci,sigmaci] = normfit(X, ALPHA)
正态分布的最大似然估计,置信度为95%
返回水平α的期望、方差值和置信区间
PHAT =betafit (X)
[PHAT, PCI]= betafit (X, ALPHA)
返回β分布参数a和 b的最大似然估计
返回最大似然估计值和水平α的置信区间
[ahat,bhat] = unifit(X)
[ahat,bhat,ACI,BCI] = unifit(X)
[ahat,bhat,ACI,BCI]=unifit(X, ALPHA)
均匀分布参数的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的参数估计和置信区间
muhat =expfit(X)
[muhat,muci] = expfit(X)
[muhat,muci] = expfit(X,alpha)
指数分布参数的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的参数估计和置信区间
phat =gamfit(X)
[phat,pci] = gamfit(X)
[phat,pci] = gamfit(X,alpha)
γ分布参数的最大似然估计
置信度为95%的参数估计和置信区间
返回最大似然估计值和水平α的置信区间
phat = weibfit(X)
[phat,pci] = weibfit(X)
[phat,pci] = weibfit(X,alpha)
韦伯分布参数的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的参数估计及其区间估计
phat = mle('dist',data)
[phat,pci] = mle('dist',data)
[phat,pci] = mle('dist',data,alpha)
[phat,pci] = mle('dist',data,alpha,p1)
分布函数名为dist的最大似然估计
置信度为95%的参数估计和置信区间
返回水平α的最大似然估计值和置信区间
仅用于二项分布,pl为试验总次数
原文在这里在这里在这里:.cn/s/blog_6163bdeb0102dvwr.html
最近瞅了一些关于时频分析工具箱的matlab函数使用方法,总结一下吧.
我使用的是2011a的matlab,貌似没有自带的时频分析工具箱,可以到网上下载,google一搜就能搜到,安装后就可以使用了(所谓安装就是把工具箱的目录包含到matlab工作目录中即可).
下面说一些时频工具箱函数的用法(由于我下的工具箱没有html版的帮助,所以只能使用help funname的方法查看帮助信息).AMGAUSS
Generate gaussian amplitude modulation.
Y=AMGAUSS(N,T0,T) generates a gaussian amplitude modulation
centered on a time T0, and with a spread proportional to T.
This modulation is scaled such that Y(T0)=1
and Y(T0+T/2) and Y(T0-T/2) are approximately equal to 0.5 .
产生高斯幅值调制信号,其以信号点数为N,中心为T0,传播0.5的比例到T,即Y(T0)=1,Y(T0+T/2) = Y(T0-T/2) = 0.5。 T0默认为N/2,T默认为2*sqrt(N)。
如z=amgauss(160,90,40); plot(z);
Signal with constant frequency modulation.
[Y,IFLAW] = FMCONST(N,FNORM,T0) generates a frequency modulation
with a constant frequency fnorm.
The phase of this modulation is such that y(t0)=1.
产生一个固定频率的频率调制信号。N为产生信号的点数,FNORM为标准化频率(默认为0.25),T0表示此时刻为正幅值(默认为round(N/2)),相当于规定了相位。IFLAW为设置的频率变化情况,这里就是一个常数。
如z=fmconst(128,0.05,50); plot(real(z));
Signal with linear frequency modulation.
[Y,IFLAW]=FMLIN(N,FNORMI,FNORMF,T0) generates a linear frequency
modulation.
The phase of this modulation is such that Y(T0)=1.
产生一个线性调频信号。N为信号的点数,FNORMI为开始标准频率(默认为0.0),FNORMF为结束标准频率(默认为0.5),相位由T0规定,即Y(T0)=1。IFLAW为设置的频率变化情况,这里就是一个线性变化的直线。
如[z, f]=fmlin(128,0.05,0.3,50); plot(real(z));figure, plot(f)
以上是比较常用的产生信号的函数。
下面说一些时频分析常用的分析方法,主要有短时傅里叶变换STFT、Wigner-Ville分布WVD、伪Wigner-Ville分布PWVD等,其他还有很多分析方法,都有相关函数,具体可以查看帮助。短时傅里叶变换STFT
功能:计算时间序列的短时离散傅里叶变换,得到瞬时频率。
[tfr, t, f] = tfrstft(x) % 计算时间序列x的短时傅里叶变换,参数tfr为短时傅里叶变换系数,t为系数tfr对应的时刻,f为归一化频率向量
[tfr, t, f] = tfrstft(x, t) % 计算对应时刻t的短时傅里叶变换
[tfr, t, f] = tfrstft(x, t, n) % 计算n点对应时刻t的短时傅里叶变换
[tfr, t, f] = tfrstft(x, t, n, h) % 参数h为归一化频率平滑窗
[tfr, t, f] = tfrstft(x t, n, h, trace) % trace显示算法进程
t--时间(缺省值为1:length(x))
n--频率数(缺省值为length(x))
h--频率滑窗,h归一化为单位能量(缺省值为hamming(n/4))
trace--如果非零,显示算法的进程(缺省值为0)
tfr--时频分解(为复值),频率轴观察范围为-0.5~0.5
f--归一化频率
sig=[fmconst(128,0.2);&&&&fmconst(128,0.4)]; % 产生由两个常值调频信号(即正弦信号)的组合信号tfr=tfrstft(sig);subplot(211); imagesc(abs(tfr)); % 瞬时频率subplot(212); imagesc(angle(tfr)); % 瞬时相位
Wigner-Ville时频分布图
功能:计算时间序列的Wigner-Ville时频分布图,得到瞬时频率
[tfr, t, f] = tfrwv(x)
[tfr, t, f] = tfrwv(x, t)
[tfr, t, f] = tfrwv(x, t, n)
[tfr, t, f] = tfrwv(x, t, n, trace)
t--时间(缺省值为1:length(x))
n--频率数(缺省值为length(x))
trace--如果非零,显示算法的进程(缺省值为0)
tfr--时频分解(为复值),频率轴观察范围为-0.5~0.5
f--归一化频率
sig=fmlin(128,0.1,0.4);
tfrwv(sig);
伪Wigner-Ville时频分布图
功能:计算时间序列的伪Wigner-Ville时频分布图,得到瞬时频率
[tfr, t, f] = tfrpwv(x)
[tfr, t, f] = tfrpwv(x, t)
[tfr, t, f] = tfrpwv(x, t, n)
[tfr, t, f] = tfrpwv(x, t, n, trace)
t--时间(缺省值为1:length(x))
n--频率数(缺省值为length(x))
trace--如果非零,显示算法的进程(缺省值为0)
tfr--时频分解(为复值),频率轴观察范围为-0.5~0.5
f--归一化频率
sig=fmlin(128,0.1,0.4);
tfrpwv(sig);
还可以设置成三维显示,如下
其他时频分析
计算时间序列的快速梅林变换
计算快速梅林逆变换。
生成时间序列的Bord-Jondan时频分布图,得到瞬时频率。
生成时间序列的Butterworth时频分布图,得到瞬时频率。
生成时间序列的Choi-Williams时频分布图,得到瞬时频率。
生成时间序列的广义矩形时频分布图,得到瞬时频率。
生成时间序列的Margenau-Hill时频分布图,得到瞬时频率。
生成时间序列的Margenau-HillP谱图时频分布图,得到瞬时频率。
计算时间序列的频谱图分布,得到瞬时频率。
计算时间序列的尺度图时频表示,即连续小波变换的幅值的平方。
计算时间序列的时频分布和它的重排形式,得到瞬时频率。
计算时间序列的瞬时频率密度。
从时间序列的重排时频分布中提取瘠。
计算给定时间序列的瞬时频率规律的理想时频表示。
以上给了很多函数,但常用的基本就是短时傅里叶变换STFT、Wigner-Ville分布WVD、伪Wigner-Ville分布PWVD和提取瘠ridges、得到理想时频表示tfrideal。
&原文地址:/archives/237
当需要对同一曲线不同参数下进行模拟时需要不同的颜色来加以区分:
x=-2:0.0001:2;
for i=0:0.2:8
&&&&y=i*x.^2;
&&&&plot(x,y,'color',[rand rand rand]);
上例根据RGB颜色,来实现不同颜色曲线的组合,考虑到matlab画图中,颜色分量是以1/255的步长变化的,但是相邻颜色过于接近,因此我们可以选取rand随机数的形式,来实现颜色的随机变化;
延伸:MATLAB有一个叫颜色映象的数据结构来代表颜色值。颜色映象定义为一个有三列和若干行的矩阵。利用0到1之间的数,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个RGB值,即红、黄、蓝三种颜色的强度,形成一种特定的颜色。
当然,你也可以考虑下面的方法:
x=-2:0.0001:2;
coArray = ['y','m','c','r','g','b','w','k'];%初始颜色数组
for i=0:0.2:4
&&&&y=i*x.^2;
&&&&coPos= randi([1,length(coArray)],1,1);%随机选取颜色
&&&&coVal= coArray(coPos);%取得随机颜色
&&&&plot(x,y,coVal);
不同颜色,不同线条的随机组合.其实,对于上述构造颜色数组的方法,可以类比到随机线条的描绘,如下:
x=-2:0.1:2;
coArray = ['y','m','c','r','g','b','w','k'];%初始颜色数组
liArray=['o','x','+','*','-',':','-.','--','.'];%初始线条数组
for i=0:0.2:4
&&&&y=i*x.^2;
&&&&liPos= randi([1,length(liArray)],1,1);%随机选取线条
&&&&liVal= liArray(liPos);%取得随机线条
&&&&coPos= randi([1,length(coArray)],1,1);%随机选取颜色
&&&&coVal= coArray(coPos);%取得随机颜色
&&&&plot(x,y,[coVal liVal]);
延伸:(一)颜色映像的使用
语句colormap(M)将矩阵M作为当前图形窗口所用的颜色映象。例如:colormap(cool)装入了一个有64个输入项的cool颜色映象。colormap default装入了缺省的颜色映象(hsv);
函数plot、plot3、contour和contour3不使用颜色映象,它们使用列在plot颜色和线形表中的颜色。而大多数其它绘图函数,比如mesh、surf、fill、pcolor和它们的各种变形函数,使用当前的颜色映象;
接受颜色参量的绘图函数中的颜色参量通常采用以下三种形式之一:(1)字符串:代表plot颜色或线型表中的一种颜色,比如’r ‘代表红色;(2)三个输入的行向量:它代表一个单独的RGB值,比如[.25 .50 .75];(3)矩阵:如果颜色参量是一个矩阵,其元素作了调整,并把它们用作当前颜色映象的下标;
(二)颜色映像的显示
数值显示方法:如hot(8);
图示显示方法:如pcolor函数;
colormap(hot(8));
pcolor([1:8+1;1:8+1]');
%或者竖直颜色方图
colormap(hot(8));
pcolor([1:8+1;1:8+1]);
%注意:最后一种颜色为白色
函数colorbar在当前的图形窗口中增加水平或垂直的颜色标尺以显示当前坐标轴的颜色映象。colorbar(“horiz’) 在当前的图形下面放一个水平的颜色条。colorbar(‘vert’) 在当前的图形右边放一个垂直的颜色条。对无参量的colorbar,如果当前没有颜色条就加一个垂直的颜色条,或者更新现有的颜色条。
mesh(x,y,z);
colormap(hsv);
axis([-3& 3& -3& 3& -6& 8]);
参考:《精通MATLAB-十九章-颜色的使用》
原文地址:.cn/s/blog_574d.html
快毕业了,把自己写的现成的matlab函数分享给有需要的人,由于个人水平有限,写的不好请见谅,愿意拍砖的尽管拍好了。目前还不考虑读博,所以写的程序仍了可惜,所以就拿出来分享。好了不废话了,开始正题。
以下两个滤波器都是切比雪夫I型数字滤波器,不是巴特沃尔滤波器,请使用者注意!
1.低通滤波器
使用说明:将下列代码幅值然后以m文件保存,文件名要与函数名相同,这里函数名:lowp。
function y=lowp(x,f1,f3,rp,rs,Fs)%低通滤波%使用注意事项:通带或阻带的截止频率的选取范围是不能超过采样率的一半%即,f1,f3的值都要小于 Fs/2%x:需要带通滤波的序列% f 1:通带截止频率% f 3:阻带截止频率%rp:边带区衰减DB数设置%rs:截止区衰减DB数设置%FS:序列x的采样频率% rp=0.1;rs=30;%通带边衰减DB值和阻带边衰减DB值% Fs=2000;%采样率%wp=2*pi*f1/Fs;ws=2*pi*f3/Fs;% 设计切比雪夫滤波器;[n,wn]=cheb1ord(wp/pi,ws/pi,rp,rs);[bz1,az1]=cheby1(n,rp,wp/pi);%查看设计滤波器的曲线[h,w]=freqz(bz1,az1,256,Fs);h=20*log10(abs(h));plot(w,h);title('所设计滤波器的通带曲线');%y=filter(bz1,az1,x);%对序列x滤波后得到的序列yend
--------------------------------------
低通滤波器使用例子的代码
fs=2000;t=(1:fs)/ff1=100;ff2=400;x=sin(2*pi*ff1*t)+sin(2*pi*ff2*t);subplot(211);plot(t,x);subplot(212);hua_fft(x,fs,1);%低通测试% y=filter(bz1,az1,x);y=lowp(x,300,350,0.1,20,fs);subplot(211);plot(t,y);subplot(212);hua_fft(y,fs,1);%hua_fft()函数是画频谱图的函数,代码在下面给出,要保存为m文件调用
%这段例子还调用了我自己写的专门画频谱图的函数,也给出,不然得不出我的结果
%画信号的幅频谱和功率谱%频谱使用matlab例子表示function hua_fft(y,fs,style,varargin)%当style=1,画幅值谱;当style=2,画功率谱;当style=其他的,那么花幅值谱和功率谱%当style=1时,还可以多输入2个可选参数%可选输入参数是用来控制需要查看的频率段的%第一个是需要查看的频率段起点%第二个是需要查看的频率段的终点%其他style不具备可选输入参数,如果输入发生位置错误nfft= 2^nextpow2(length(y));%找出大于y的个数的最大的2的指数值(自动进算最佳FFT步长nfft)%nfft=1024;%人为设置FFT的步长nfft&&y=y-mean(y);%去除直流分量y_ft=fft(y,nfft);%对y信号进行DFT,得到频率的幅值分布y_p=y_ft.*conj(y_ft)/%conj()函数是求y函数的共轭复数,实数的共轭复数是他本身。y_f=fs*(0:nfft/2-1)/?T变换后对应的频率的序列% y_p=y_ft.*conj(y_ft)/%conj()函数是求y函数的共轭复数,实数的共轭复数是他本身。if style==1&&&&if nargin==3&&&&&&&&plot(y_f,2*abs(y_ft(1:nfft/2))/length(y));%matlab的帮助里画FFT的方法&&&&&&&&%ylabel('幅值');xlabel('频率');title('信号幅值谱');&&&&&&&&%plot(y_f,abs(y_ft(1:nfft/2)));%论坛上画FFT的方法&&&&else&&&&&&&&f1=varargin{1};&&&&&&&&fn=varargin{2};&&&&&&&&ni=round(f1 * nfft/fs+1);&&&&&&&&na=round(fn * nfft/fs+1);&&&&&&&&plot(y_f(ni:na),abs(y_ft(ni:na)*2/nfft));&&&&end
elseif style==2&&&&&&&&&&&&plot(y_f,y_p(1:nfft/2));&&&&&&&&&&&&%ylabel('功率谱密度');xlabel('频率');title('信号功率谱');&&&&else&&&&&&&&subplot(211);plot(y_f,2*abs(y_ft(1:nfft/2))/length(y));&&&&&&&&ylabel('幅值');xlabel('频率');title('信号幅值谱');&&&&&&&&subplot(212);plot(y_f,y_p(1:nfft/2));&&&&&&&&ylabel('功率谱密度');xlabel('频率');title('信号功率谱');endend
下面三幅图分别是滤波前的时频图,滤波器的滤波特性曲线图和滤波后的时频图,通过图可以看出成功留下了100Hz的低频成分而把不要的高频成分去除了。
2.高通滤波器
function y=highp(x,f1,f3,rp,rs,Fs)%高通滤波%使用注意事项:通带或阻带的截止频率的选取范围是不能超过采样率的一半%即,f1,f3的值都要小于 Fs/2%x:需要带通滤波的序列% f 1:通带截止频率% f 2:阻带截止频率%rp:边带区衰减DB数设置%rs:截止区衰减DB数设置%FS:序列x的采样频率% rp=0.1;rs=30;%通带边衰减DB值和阻带边衰减DB值% Fs=2000;%采样率%wp=2*pi*f1/Fs;ws=2*pi*f3/Fs;% 设计切比雪夫滤波器;[n,wn]=cheb1ord(wp/pi,ws/pi,rp,rs);[bz1,az1]=cheby1(n,rp,wp/pi,'high');
%查看设计滤波器的曲线[h,w]=freqz(bz1,az1,256,Fs);h=20*log10(abs(h));plot(w,h);title('所设计滤波器的通带曲线');y=filter(bz1,az1,x);end
下面是高通滤波器的例子
fs=2000;t=(1:fs)/ff1=100;ff2=400;x=sin(2*pi*ff1*t)+sin(2*pi*ff2*t);subplot(211);plot(t,x);subplot(212);hua_fft(x,fs,1);
%------高通测试z=highp(x,350,300,0.1,20,fs);subplot(211);plot(t,z);subplot(212);hua_fft(z,fs,1);
下面三幅图分别是滤波前的时频图,滤波器的滤波特性曲线图和滤波后的时频图,通过图可以看出成功留下了400Hz的高频成分而把不要的低频成分100Hz去除了。
原文地址:.cn/s/blog_4b9b714a0100cce2.html
这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。希望能对初学Matlab界面设计的朋友们有所帮助。
GUI学习笔记:
句柄式图形常用函数:(1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值(2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。(3)a = get(0,'factory')返回所有能由用户设置的属性的默认定义值。(4)a = get(0,'FactoryObjectTypePropertyName1','FactoryObjectTypePropertyName2',...)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory与图形对象类型(如Figure)还有属性名称(如Color)组成。&a = get(0,'factoryFigureColor')返回Figure对象的Color属性值。(5)a = get(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName1',...)返回句柄值为h的对象指定属性的默认值。如“DefaultFigureColor”。(6)a = get(h,'default')列出h对象的所有属性的默认属性值(7)a = set(h)返回句柄值h所指定的图形对象的所有属性名称对应的可设置属性值,a为结构数组,存储对象的属性名称,其字段值为相对应的属性值。属性值中用{}括起来的表示默认值。(8)set(h,a)使用指定的属性值来设置由句柄值h所指定的对象属性,a为结构数组,其字段名称为对象的属性名称,字段值为相对应的属性值。(9)a = set(0,'factory')返回那些用户可以设置默认值的所有对象的属性,同时显示可设置的属性值。(10)a=set(0,'FactoryObjectTypePropertyName')返回所有对象中指定的属性名称FactoryObjectTypePropertyName的所有可能的属性值。(11)a = set(h,'属性名','属性值')设置句柄值为h的对象的与属性名对应的属性值。(12)set(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName2',...)对句柄值为h的对象设置特定属性名称的属性默认值。(13)H =返回Root对象与其所有子对象的句柄值(14)H = findobj(h);返回h变量的句柄值(15)H = findobj(’属性名称‘,’属性值‘);依据对象的属性名称和属性值找出匹配的对象句柄值。(16)H = findobj(ObjectHandles,’属性名称‘,’属性值‘);根据限定的对象列表找出与对象的属性名称和属性值匹配的对象句柄值(17)gcf返回当前Figure对象的句柄值&&&&&&&&&&&gca返回当前axes对象的句柄值&&&&&&&&&&&gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中
Figure对象的属性篇(1).^是矩阵每个元素的幂乘,^是数的幂乘。(2)set(handle)列出句柄值为handle的对象的所有属性&&&&get(handle)除列出上述属性外,还列出可以设置的属性&&&&reset(handle)将所有属性改为默认值&&&&delete(handle)删除句柄值为handle的图形对象(3)利用set(handle,‘属性名称’)获得句柄值为handle的对象的属性名称下所有可设置的属性值&&&&set(gcf,'units):得到[ inches | centimeters | normalized | points | {pixels} | characters ],其中,大括号中是默认值(4)将窗口关闭,并重新设置其属性为默认值。(5)Closerequestfcn,有效值为字符串或函数句柄(前加@)当关闭绘图窗口或离开Matlab时,就会定义Closerequestfcn定义的函数(6)createfcn,当Matlab建立一个对象时(如为figure对象,即打开一个绘图窗口),就会触发createfcn所定义的callback程序。如set(0,'defaultfigurecreatefcn','set(gcbo,''integerhandle'',''off'')');即设置了根对象的默认值,使每次建立figure对象时,都会指定一个非整数的句柄值。(在用户未指定句柄值时)(7)将当前窗口中在键盘上按下的按键名显示出来。set(gcf,'keypressfcn','get(gcf,''currentcharacter'')')(8)color有效值为colorspeccolorspec表:RGB&&&&&&简称[110]&&&&y_yellow[101]&&&m_magenta[011]&&&c_cyan[100]&&&r_red[010]&&&g_green[001]&&&b_blue[111]&&&w_white[000]&&&k_black(9)linspace(a,b,c):a初始b结束c线性分段次数linspace(a,b)则默认100次(10)CurrentObject:有效值为图形对象句柄值:返回绘图窗口内当前被鼠标选取的对象的句柄值(11)currentPoint:有效值[x-坐标,Y-坐标]返回绘图窗口中最后单击鼠标的位置,用get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置(12)DeleteFcn:有效值:字符串或函数句柄,删除对象(这里为figure)时会触发Deletefcn所定义的Callback程序。(13)Dockcontrols:有效值为on/off,默认值on,控制窗口的嵌入效果是否可用。(14)Hittest:有效值on/off,决定能否用鼠标选取对象为当前对象。(15)Integerhandle:有效值on/off,决定Figure对象句柄值的类型为整数或浮点小数。(16)Interruptible:有效值on/off,执行过程中需要中断程序而优先执行其他程序时要设该属性为on。即Interrupptible属性是用以控制当Callback执行时是否能被其他事件(如此时鼠标按下其他控制对象)而中断,on是会中断,off时会执行完当前Callback,再去执行其他Callback。(17)Keypressfcn:有效值为字串或函数句柄。当用户在figure窗口中按下键盘的任意键时,就会执行Keypressfcn所定义的Callback程序。figure('keypressfcn','fprintf(''当前按下键盘上的%c键\n'',get(gcf,''currentcharacter''))')在这个figure窗口中按下键盘上的按键时就会立即返回对应的字符,依据这个效果就可以决定当字符键被按下时所要执行的操作。&&&&&&&当这个属性指定的值是一个函数句柄时,Matlab就会将这个函数视为一个结构,包含下列字段——character(以当前键盘上按下的按键显示的字符来当作结果),modifier(包含一个或多个识别键盘上按下按键字符名称的细胞数组(如Ctrl,Alt,Shift等),key(显示被按下的键)。(18)WindowButtonDownFcn:有效值为字符串或函数句柄当鼠标在绘图窗口内按下鼠标任意键时,将触发WindowButtonDownFcn所定义的Callback以产生相对应的操作。(19)WindowButtonMotionFcn:有效值为字符串或函数句柄当鼠标在绘图窗口内按住鼠标任意键移动,将触发WindowButtonMotionFcn所定义的Callback以产生相对应的操作。(20)WindowButtonUpFcn:有效值为字符串或函数句柄当鼠标在绘图窗口内释放鼠标任意键时,将触发WindowButtonUpFcn所定义的Callback以产生相对应的操作。(21)CurrentAxes有效值为当前坐标轴的句柄值,返回当前的坐标轴句柄值。假设某坐标轴句柄值为a_h,可以使用axes(a_h)或set(gcf,'currentaxes',a_h)这两种方式,制定句柄值为a_h的坐标轴为当前坐标轴。(22)CurrentCharacter:有效值为任意字符,返回用户在绘图窗口中最后输入的一个字符,即刚在键盘上按下的字符键将存储到Currentcharacter中,一般于Keyppressfcn合用。(23)Currentobject有效值为图形对象的句柄值,返回绘图窗口内当前被鼠标选取的对象的句柄值。(24)有效值为两元素的向量,[X坐标,Y坐标]返回绘图窗口中最后单击鼠标的位置,与Windowbuttonmotionfcn,Windowbuttonupfcn合用。使用get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置。
Axes对象的属性(1)title('new','color','r');给坐标轴命名为new,红色&&&&&&&&&&&title({'this title','has 2 '});命名为两行的标题(2)Units:有效值为pixels/normalized/inches/centimeters/points/characters决定各种位置属性的度量单位,相对于窗口左下角为基准。当设置为Pixels时,以像素为单位;当设置为normalized时,以坐标为单位,屏幕的左下角为[0,0],右上角为[1.0,1.0]。(3)grid on:在图像中显示网格。(4)children:控制axes对象的子对象,即image\light\line\patch\rectangle\surface和text等对象,可通过get(gca,'children')来返回当前坐标轴的子对象构成的句柄值向量。(5)字体属性:&&&&&&&&&Fontangle字体角度(正常normal或斜体italic/oblique)&&&&&&&&&Fontname字体名称&&&&&&&&&fontsize字体大小(单位由Fontunits决定)&&&&&&&&&fontunits字体单位(points/normalized/inches/centimeters/pixels)&&&&&&&&&fontweight字体粗细(normal/bold/light/demi)&&&&&&&&&gridlinestyle决定坐标轴网格线的样式,‘-’为实线‘- -’为虚线‘:’为点线‘-.’为点虚线&&&&&&&&&plot(1:10);set(gca,'gridlinestyle','-.');将当前坐标轴显示的网格线为点-虚线(6)linewidth 定义X,Y和Z轴的轴线宽度(以点单位定义)(7)NextPlot:有效值为add|replace|replacechildren,默认为replaceadd表示使用当前的坐标轴,把新的图形对象加到此坐标轴中是一般保留的做法,replace表示重新设置坐标轴的所有属性(Position除外),也就是在绘图前会删除当前坐标轴和它的子对象。replacechildren表示移除当前坐标轴中所有子对象,但不重新设置坐标轴的所有属性(8)Outerposition决定坐标轴外边界的位置。由位置向量[left,bottom,width,height]组成,其中left,bottom表示相对于绘图窗口左下角的位置,width,height表示区域尺寸,默认为[0 0 1 1](9)Position由位置向量[left,bottom,width,height]组成,决定坐标轴位置(10)Tag定义本坐标轴的卷展栏,因为每一个对象都有自己唯一的识别码即tag,以方便findobj函数查找坐标轴句柄值。(11)visible决定坐标轴是否可见(12)set(gca,'xgrid','on')绘制X轴垂直网格线&&&&&&&&&&set(gca,'gridlinestyle',':','linewidth',3)设置网格线线条类型和宽度&&&&&&&&&&set(gca,'box','on')将图轴方框绘制出来(13)set(gca,'xscale','linear');将X轴刻度设为线性&&&&&&&&&&set(gca,'yscale','log');将Y轴刻度设为对数(14)disp()显示一个数组,但不显示其数组名称&disp('&&&&&&&&&Corn&&&&&&&&&Oats&&&&&&&&&Hay')&disp(rand(5,3))&which results in&&&&&&&&&&Corn&&&&&&&&&Oats&&&&&&&&&Hay&&&&&&&&&0.2113&&&&&&&&0.8474&&&&&&&&0.2749&&&&&&&&&0.0820&&&&&&&&0.4524&&&&&&&&0.8807&&&&&&&&&0.7599&&&&&&&&0.8075&&&&&&&&0.6538&&&&&&&&&0.0087&&&&&&&&0.4832&&&&&&&&0.4899&&&&&&&&&0.8096&&&&&&&&0.6135&&&&&&&&0.7741
&Pause:pause, by itself, causes M-files to stop and wait for you to press any key before continuing.
实例:plot(1:10);set(gca,'yscale','log');&&&&&&&&&&disp('请按下Enter键');&&&&&&&&&&pause&&&&&&&&&&set(gca,'Yscale','linear');本例是说按下Enter键将Y轴刻度由对数改为线性。(16)Xtick,Ytick,Ztick:控制X,Y,Z轴坐标刻度记号的位置,即控制坐标轴上刻度记号的位置以及每隔多少值会到下一个刻度记号的位置,同时还需要配合Xticklabel、Yticklabel、Zticklabel属性来调整。详细见例程。&&&&&&&&&&&以下设置方式相同:&set(gca,'Xticklabel',{'1';'10';'100'})&set(gca,'Xticklabel','1|10|100')&set(gca,'Xticklabel',[1;10;100])&set(gca,'Xticklabel',['1&&';'10 ';'100'])(17)Findobj:查找
Line对象当用户建立一个线对象时,就会触发Createfcn所定义的Callback产生相对应的操作;同样,若删除一个线对象时,就会触发DeleteFcn所定义的Callback产生相对应的操作。以下程序建立一个线对象,并设置DeleteFcn为一个问题对话框,当删除该线对象时,就会显示其问题对话框来询问用户。(1) clipping:有效值为on/off,默认值为on设置坐标轴土筐是否可以剪辑,如果设为off,则绘制线对象时可超出坐标轴的图框。(2)Linewidth:有效值为纯量(与向量相对,只有大小而无方向),点为单位。(3)Marker:有效值为字符,决定Line对象的记号类型,有+,o,*,.,x,s,d,等(4)Markersize:有效值为纯量,单位为点,Marker的大小。(5)UIcontextmenu:有效值为uicontextmenu对象的句柄值,定义与线对象相关联的uicontextmenu菜单,因此当用户将该线对象的属性UicontextMenu设置为相关联的uicontextmenu对象的Tag名称时,uicontextmenu就可以在该线对象上单击鼠标右键来显示uicontextmenu菜单。(6)Tag:有效值为字符串,定义改线对象的卷展栏(即标记)(7)Type:有效值为字符串(只读),此处为’line‘字符串。(8)Xdata,Ydata,Zdata:有效值为坐标数组,指定产生线条的数据点,若为2D环境则Xdata、Ydata需要有相同数目的数据,而Zdata为空矩阵;3D环境则Xdata,Ydata,Zdata三者都需要有相同数目的数据。例:x=0:5,y=x+10;line('xdata',x,'ydata',y);
Patch对象patch函数不想其他高级区域建立函数(fill和area),只是简单地将patch对象添加到当前坐标轴中而已。使用:patch(X,Y,C)&&&&&&&&&在当前的坐标轴中添加二维填充的patch对象,X和Y用以定义patch对象顶点的位置,若X,Y为矩阵,则Matlab按每一行的元素来产生多个多边形。&&&&&&&&&例:x = [0 0;0 1;1 1];&y = [1 1;2 2;2 1];&z = [1 1;1 1;1 1];(x(1,1),y(1,1),z(1,1)为第一个面的第一个顶点,x(2,1),y(2,1),z(2,1)为第一个面的第二个顶点,以此类推)&tcolor(1,1,1:3) = [1 1 1];&tcolor(1,2,1:3) = [.7 .7 .7];&patch(x,y,z,tcolor);(tcolor是一个1*2*3的三维矩阵)
Surface对象surface可以建立一个surface对象,surface是由矩阵数据所在的列索引值为X坐标,而行索引值为Y坐标,并且矩阵的每个元素值为Z坐标。
image对象image(C)将矩阵C当作一个图像来显示,C的每一个元素定义一个图像中矩阵线段的颜色。image(x,y,C)其中x与y为2元素的向量,分别指定X轴与Y轴卷展轴的范围。C为图像矩阵。
text对象(1)text(x坐标,y坐标,'string')在图形中指定位置(x,y)显示字符串string。(2)Editing有效值为on/off,off时,用户在执行GUI操作时无法直接在该Text对象上进行编辑,改为on后,可以进行编辑。(3)HorizontalAlign 有效值为left/center/right决定Text对象中字符水平方向的对齐方式。(4)Interpreter有效值为tex/none,决定Text对象中是否可用Tex字符注释,当设置为Tex时,表示允许用户能够在String属性下输入Tex字符。以下为在窗口的&[.5 .5]点位置处建立一个text对象并且字体大小以16点来表示的一个方程式。(显示的是一个二重积分)&text('interpreter','latex','string','$$\int_0^x\!\int_y dF(u,v)$$','position',[.5 .5],'fontsize',16)(5)String有效值为字符串,表示要显示出来的字符串是什么。(6)verticalAlignme 有效值为top/cap/middle/baseline/bottom决定Text对象垂直对齐的方式。
原文地址:/thread-.html
Endnote中英文混排之完美解决这个帖子在小木虫我发过,但当时匆忙没有上传附件,现在想在原帖上传附件已经封贴了。于是转战科学网,在个人博客上上传附件,竟然认为附件rar文件不符合规范,上传附件的目的还是没有达到。所以在论坛开贴,直接上传附件测试了一下,成功。放在这里好了。^_^http://emuch.net/bbs/viewthread.php?tid=1239334Endnote是文献管理和word文献插入的管理工具,如何使用这里不提,网上一大 堆。。现在提出一个问题,然后解决它。问题:endnote在和word连用的时候,如果文献中英文混排,那么会出现中文姓名之后也是 et&&al.这样的字样。显然我们希望中文文献引用的时候逗号以及et at都用中文格式,也就是中文的&,&和&等&,而非&,&和&et&&al&,另外卷期页码之间的标点符号也是英文,也需要更改。讨论:事实上在文献输入到word中的格式可以通过endnote的out&&style来规定,文字的大小,字体,也可以用word中endnote的插件&format&&bibliography&中的&layout&来规定。然而一个word文档的输入格式只能是一种,而且输入的文献必然在word的最后。这个是无法改 变的事实,(注:x3版已经解决了这个问题)也许以后endnote会考虑多语言文献引用的可能性而进行调整。目前一个格式意味着你只能规定文献输出的作者文题卷期等之间的符号只能一 种!!!???这也无法改变。唯一选择中文文献不用&journal&类型,而使用其他自定义的类型。这样你选择输出的out&&style里可以编辑这个类型。比如类型名&中文期刊&。解决:1、在endnote软件中选择edit-preference,在选项界面里,reference types中,选择&modify&&reference types&,在这里点开,&journal article&下拉菜单。里面选择一个新的文献类型,比如&unused&&1&,在下方菜单把这个unused 1改为&中文期刊&。2、现在&中文期刊&已经建立,但其中的详细内容是空的,需要添加。否则在下一步中无法选择&中文期刊&这个文献类型。在当前界面下,Title后面是空 的,加上&Title&字样即可。一项一项添加非常麻烦。现在用导出,导入功能,回到上一级的菜单,下方有&export&,&inmport&选项。导 出的是xml文件,用ie打开,把journal&&article下方的设置复制。然后把这个xml再用记事本编辑,找到中文文献,把刚才复制的部分粘贴到这里。然后保存,再用上面说的import导入到 endnote的类型里。为了大家方便,我将已经编辑好的export的xml文件放在附件里(解压后import即可完成这步骤)。在这里直接import就可以了。3、然后在“modify reference types”打开的菜单里选择“中文期刊”,现在下面的条目就是和“journal&&article”的对应关系是一样的了。如果觉得上面导入导出复杂,那就照“journal&&article”的类型那样,在“中文期刊”这个类型下,一个一个的敲入好了。4、现在把你所有的中文期刊的类型都改成&中文期刊&,比如,双击任一中文文献条目,进入条目编辑状态,上方默认应该是&journal&&artical&类型,这里改成&中文期刊&类型。也许你在这里会看不到&中文期刊&这个文献类型,并不是因为endnote不认识中文。而是在上一步 中&中文期刊&其中的详细格式现在是空的。5、那么现在我们编辑当前的out style。在编辑菜单里,有out&&style。点击后,右方选择”edit…”,edit后面跟着的你所使用的期刊格式,比如“JACS”,意思是按照“JACS”期刊的要求的输出格式, 这个期刊格式endnote自带了上千种。中英文混排一般是本科生,硕博论文的需要,这里可以自建类型。网上有下载“geebin”设计的论文格式out&&style,大家可以借用。6、点选后进入了期刊格式编辑状态,我们需要改变的就是文档最后输出的文献格式。是这个菜单中的,bibliography-templates。右方显 示了各种输出格式,比如“journal article”,“book”“generic”。这个和1中涉及到的reference&&type中的类型是对应的。一般期刊格式在templates里面只规定了5,6种,其中generic是必须的,意思是说如果这里没有规定你的文献条目 所选的类型,会自动按照generic格式执行,也就是说我们把所有中文文献的类型在4里都改成了“中文期刊”但这里templates中没有规定“中文 期刊”的类型,那么就会自动按照“generic”的格式输出。为了避免混淆,我们在templates里加入“中文期刊”,点击右上方 “reference types”按钮,右方出现列表,在中文期刊上点选对勾。此时,右下方的type就出现了中文期刊的格式框。7、按照你的预想,把author,title之类的加入。方法是右上方的“insert field”钮,选择你要加入的。Author Title[J] Journal,Year,Volume (Issue):Pages注意:上方的每个field之间的标点符号都是中文标点。这就是我们想要达到的效果[1; 2]。[1]& && &&&Laitinen N, Luonsi A, Levanen E et al. Modified and&&unmodified alumina membranes in ultrafiltration of board mill wastewater&&fractions[J]. Desalination,
(1): 63-70.[2]& && &&&金江, 陈悦, 刘敏 et al. 氧化铝微滤膜的制备及表征[J] 硅酸盐通报,1999,(05):15-178、我们看到上述格式中文献[2]的中文样式,在field之间的格式是中文标点。但field之内,比如author里,几个作者之间仍然是英文标点符 号。后面的“等”也是英文“et&&al”,也就是说部分达到了我们的目的但不是全部,特别是field之内。这个也是目前endnote无法达到的效果。因为每个期刊输出格式,比如 JACS的out style-bibliography里,只有template的输出格式是可以分类的。而author list 和author&&name,是统一规定,不分reference type的。所以作者之间的英文标点和et&&al后缀是统一规定,如果都改成中文标点和“等”,那么英文的文献也相应会被改变。。。。。。。9、那么唯一的方法,只能用word的查找替换功能了。也就是我们需要把作者后的英文逗点,和中文作者+空格+et&&al,改变成相应中文。Word实现还是很容易的。例:查找框:([一-龥])( et al)&替换内容:\1等此例,用两个括号分开了查找内容。第一个括号内容代表是中文文字,第二个括号代表的是“空格+et+空格+al)。替换中,\1等,表示第一个括号内容不 变,第二个括号内容用“等”替换。Ok,以上方法完美解决了中英文混排的问题。事实上网上流传的上述9的方法已广为人知。替换是唯一完美解决的方式。但中文文献中并不只是中文后面的标点需要更改,上述例子有数字1999,有括号 (05),这些标点符号就无法用替换区分呢中英文文献了。因此分类,再替换是完美解决的唯一方案。非常期待endnote能考虑到英文和其他语言混排的需 要。至少把author list能够按照reference type分别规定。那么上面8步就能仅仅以endnote的功能完美解决了。我在校内的地址贴:里面有总结的关于自动编号图一.1如何显示为图1.1之类的资料。^_^注:刚看到论坛里Endnote的中英文混排的帖子,学习了一些新知识,比如&等&的查找代码,记录了下来。感谢之余,觉得自己以前的关于混排的经验和作者大大的有些不同,可以贴出来给大家更多参考。于是有了这篇我原创在小木虫的转发并提供附件下载。最后的附件下载是我发在这个论坛的主要原因,当初的想法只是想在小木虫帖子补充个附件。^_^。
原文地址:.cn/s/blog_44b925cd0100zdb9.htmlEndnote是一个不错的文献管理软件,写paper的同学几乎是必备的(或者用国产的noteexpress,可惜NE暂时还不支持mac,悲催- -)。最近终于把mac上的相关环境整好了,在这里分享一下。
首先是安装一个不需要花美刀的Endnote X4,下载链接在这里:/walker.iben/u0ctdl
感谢威锋网的 benjaminchan 童鞋 :)
另外还包括一个与Office 2011 for mac兼容的插件,链接在此:/read-htm-tid-1436337.html,童鞋们可能需要注册一个weiphone的账号了。
装好以后,可以看一下中科大樊亚芳老师的视频教程,链接在此:/v_show/id_XMzE2ODc4ODAw.html
想要在word中输出中文文献,还得再费点神,参见科学网的这篇文章:/forum.php?mod=viewthread&tid=97561
如果觉得太麻烦的同学可以直接在这里下载一个现成的中文期刊output style文件,不过不能中英文文章混排了:http://emuch.net/html/1995.html
到这里,基本上就大功告成啦,good luck!

我要回帖

更多关于 wigner 的文章

 

随机推荐