matlab zeros 1 n中n~=0什么意思

[转载]Matlab有用的小工具小技巧
已有 3271 次阅读
|系统分类:|文章来源:转载
本文随时更新,欢迎转载,注明出处,谢谢合作。本文内容基本上都经过笔者自身使用,结合经验及思考使用Matlab作图更为方便。记录下来,一是方便自己,二也为方便网友,欢迎多留言交流。目录:1.使图形窗口的默认text解释器为latex2.图形窗口最大化3.双坐标4.计时5.局部放大子图6.Figure缩放字体7.legend的Marker,line的属性操作(多legend,曲线减少marker数)8.eps图片在latex中显示不全9.坐标轴被遮住、保存后消失10.使用一个目录下的全部或某类文件11. [原创]eps图片中使用隐含信息做标注12. 生成高质量透明矢量图13. imagesc中对nan的处理14. 数据量比较大时保存真矢量eps图1.使当前图形窗口的默认text解释器为latex:set(gcf,'DefaultTextInterpreter','latex') 同理可推广:set(0,'DefaultTextInterpreter','latex')但是legend的解释器似乎不受这个设置影响?(可以用'Interpreter','latex'来设置,但是感觉还是不爽。)2.使图形窗口最大化:set(gcf,'outerposition',get(0,'screensize'))3.双坐标[hax,hl1,hl2]=plotyy([x1,y1,x2,y2],[x3,y3]);这将在左边的坐标轴里画两条曲线(x1,y1)和(x2,y2),而右坐标轴画一条(x3,y3)对于坐标轴的一些设置可以通过返回值来进行操作set(gcf,'CurrentAxes',hax(1))//把当前坐标轴调成左边的坐标轴set(gca,'Ylabel','xxxx')//然后就可以正常操作这个坐标轴,也可以使用hold on,增加曲线4.计时t0 = 程序;time=cputime-t0; 程序;t0 = 程序;time = etime(clock, t0);5. 局部放大子图有一个mmzoom的扩展,可以用鼠标选区域来放大,用起来也挺好,不过不利于精确控制。其实,要自己画子图也不难:myzoom([0.18,0.18,0.4,0.3],[x0,x1,y0,y1])通过笔者自己写的简单函数来实现放大:function myzoom(position,axiscale)ha=get(gcf,'CurrentAxes');ha1=copyobj(gca,gcf);set(ha1,'position',position)set(gcf,'CurrentAxes',ha1)axis(axiscale)xlabel('')ylabel('')set(gcf,'CurrentAxes',ha)其中position是字图在当前图中的相对位置和大小,[x0,x1,y0,y1]是你要放大的坐标范围。6. Figure缩放字体问题让字体随figure的比例随你设置的缩放比例而变:hf=fp=get(hf,'position');times=2.0; %自定义缩放倍数,set(hf,'position',[0 0 times*fp(3:4)]) %figure的缩放set(gca,'FontSize',times*get(gca,'FontSize')) %gca上各种字体的缩放xlabel('X') %label在gca的fontsize设定之后写,不用再单独去设置它的字体ylabel('Y')hc=set(hc,'FontSize',times*get(hc,'FontSize')) %假设有colorbar,实际上就是另外一个axes,同样设置它的字体参考:&看了这个这里才知道输出格式还可以Export Setup的,而set(findobj('FontSize',10),'FontSize',figure_FontSize);可以把所有的对象中字体大小为10的都改到想要的号啊!7.legend的Marker,line等的操作有这样一个情况,曲线太多,用线型来表示是不够的,只能用Marker、颜色结合线型来做。一般杂志还有要求,就是不用彩色也能说明每条曲线的意义,这样就只能用Marker结合线型来做。但是如果杯具的是你的数据点太多,导致marker太多,全画上的话根本看不清了。解决这个问题最简单的方法是:……哈哈,直接调用现成函数(笔者在原作者的基础上做了一点修订,使之在横坐标和纵坐标范围相差数值上很大时也能用,大家也可以考虑一下log坐标的问题),当在使用legend后再使用这个函数,不会影响legend:&nummarkers.m& 之前自己用的办法其实原理上是一致的,也是用线把不同颜色的曲线画一遍,然后每条曲线少用点Marker再画一遍,这样涉及到legend怎么展示,就是要对legend的线型、颜色进行自定义。x=0:0.0001:2*y1=sin(x);y2=cos(x);figurehold onbox onn=1000;hl(1)=plot(x(1:n:end),y1(1:n:end),'rd');hl(2)=plot(x(1:n:end),y2(1:n:end),'go');lstr={'sin(x)','cos(x)'};plot(x,y1,'r')plot(x,y2,'g')[hleg chleg hplot hlabel]=legend(hl,lstr,'location','southwest');%hplot,hlabel在R2013a里可以用~代替set(chleg,'linestyle','-')比较不解的是对chleg里包含的对象分别操作的时候:比如set(chleg(1),'linestyle','.-'),这样的操作用get(chleg(1))来看是正常的,但是图上却没有反应!!!参考:还有一个比较巧的方法:8.eps图片在latex中显示不全的问题。表现为eps图片用latex插入,会显示不全,出现在pdf里面看到的图是一部分被截掉的情况。原因在于eps图片papersize的设置得太小,图片超过了paper的范围。(笔者也不太明白bounding box和papersize各是什么,在matlab里面还有paperposition设置,这个和bounding box是对应的么?papersize设成A0,但是打印出来的图却是紧凑的,尺寸并不是这个papersize啊!)。这里给笔者使用命令的解决方案:set(gcf,'PaperType','A0')set(gcf,'PaperPositionMode','auto')print('vtth_vt_vc_59_p','-depsc');根据matlab的帮助文件,最好在设置PaperTyper前设置一下PaperUnit。当然PaperSize是可以自己设置的(PaperType给了几个默认设置而已:)。set(gcf, 'PaperUnits', 'inches');set(gcf, 'PaperSize', [5 7]);参考:9.坐标轴被遮住、保存后消失set(gca,'Layer','top') %坐标轴被遮set(gca,'LineWidth',2) %保存成png图片后坐标轴消失了,可能是由于坐标轴太细造成的(困扰我许久,比如用patch设置透明后坐标轴消失,用pcolor后坐标轴消失)10. 使用目录下的所有或一类文件files=dir('*.txt');for i=1:length(files)& a=load(files(i).name);end注意linux下直接用dir命令会得到所有文件和目录(files.isdir=1),目录中还会含有当前目录“.”和上级目录“..”。自己写的话,linux下可以考虑用system命令结合regexp(str,'\t+\s+','split'),还是挺麻烦,不如直接用dir的方便。11. [原创]eps图片使用隐含信息标注因为eps图片开头有一些信息描述文件名、标题、创建者等信息,所以我们可以把一些不需要在图形中显示但是又需要的信息全部放到eps文件隐含的注释信息里面。(这样信息不会轻易随文件名更改而改变。这有没有让你想到基因序列里面的外显子和内含子呢?说不定人类的基因里的内含子还真是创造者植入的注释或者后门呢,哈哈。。。)那么怎么放进去呢?其实eps是基于文本的,把它当文本文档打开就能进行编辑!那么在matlab里的话,怎么做呢?把要写的信息放到一个字符串中,然后在eps文件中替换或添加部分注释信息!目前还不怎么熟悉matlab的字符串替换操作,所以目前我只放一个Linux系统中用系统的sed命令来添加信息的例子:info='Hello, World!';eval_r(['!sed -i ''s/\(\%\%Title.*\)/\%\%',info,'/g'' test.eps'])这样,用图片查看器打开后,查看文档的“属性”时,你就可以看到它的标题这一项变成了“Hello, World!”。12. 生成透明高质量矢量图(未完全测试)12.1 色图里如何把含有NaN的数据设置成白色,并保证输出图的质量。/matlabcentral/newsreader/view_thread/140607这里面第3个是最好的办法,虽然复杂一点,但是能够保证数据显示正确,而且输出的图体积小质量好。pcolor或set(h,'alphadata',~isnan(C))的方法,都会因为设置了透明而使生成的eps图片即大又质量不好:坐标轴丢失、文字锯齿。12.2 三维图/matlabcentral/newsreader/view_thread/158841print -depsc2 -painters test3.eps可以解决部分三维图输出质量不高的问题,但是输出有透明数据的图时会有问题?12.3 透明图/2009/07/produce-print-quality-figures-from.html13 imagesc对nan的处理(有空再考虑完美解决办法)为什么MATLAB不在imagesc中直接默认颜色为白色呢?pcolor是这样的,imagesc却不一样,怎么考虑的?不能理解!13.1 现成可用的m文件,设置成任意颜色:/zertrin/555363013.2 最简单的一句(如果你保存成eps图片,可能会发现这是一场悲剧):h=imagesc(C)set(h,'alphadata',~isnan(C))13.3 自己做色标,把nan转化一下:/matlabcentral/newsreader/view_thread/3374414 数据量比较大时保存真矢量eps图matlab遇到比较大的数据量时,即使想保存为eps矢量图,实际给出来的却是伪矢量图,先当成位图做了一个转换,然后再输出为eps图。这样保存的eps图片,一是质量差,二是其中的文字插入到latex中已经不能编辑了。使用下面的方法保存的不会有问题:print(gca,'-depsc2','painters',filename)参考:/questions/8280971/matlab-and-high-quality-eps-figures(这里还有一个扩展export_fig文件和savesvg文件,貌似很强大,没有尝试)
转载本文请联系原作者获取授权,同时请注明本文来自科学网博客,链接地址:
上一篇:下一篇:
当前推荐数:0
评论 ( 个评论)
扫一扫,分享此博文
作者的其他最新博文
热门博文导读
Powered by
Copyright &MATLAB中E_b/N_0的计算--《弹箭与制导学报》2006年S4期
MATLAB中E_b/N_0的计算
【摘要】:在通信系统设计中,系统性能通常由一定E_b/N_0下的误码率来表征。正确计算系统的E_b/N_0直接影响对系统性能的评估。文中提出了在MATLAB中计算E_b/N_0的原则并给出计算公式,可适用于任意类型的通信系统。文中通过对ASK和PSK系统进行了仿真,表明结论正确。
【作者单位】:
【关键词】:
【分类号】:TP319【正文快照】:
1引言在进行通信系统设计的时候,预先进行系统性能分析是十分重要的,对数字通信系统而言,一个重要的性能指标是AWGN信道情况下的误码特性。利用MATLAB提供了的仿真手段,这些分析过程均可便捷地完成。理论上一个通信系统的性能可以由一个E。/N。对误码率的关系或信噪比对
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【共引文献】
中国期刊全文数据库
刘业辉;;[J];北京工业职业技术学院学报;2005年03期
应卓瑜,梁坚,邵亮,叶秀清;[J];传感技术学报;2005年01期
李晓松,黄凌;[J];电讯技术;2001年03期
黄薇;[J];电讯技术;2001年05期
刘辉,杜兴民,李红军;[J];电讯技术;2003年01期
李江铎;[J];水电自动化与大坝监测;2002年02期
刘海涛,张保会,郑涛;[J];电工技术学报;2004年11期
刘海涛,张保会,谭伦农;[J];电力系统自动化;2004年04期
武广维,陈亮,程玲,傅海阳;[J];电力系统通信;2003年04期
程水英;武传华;张剑云;;[J];电路与系统学报;2006年03期
中国博士学位论文全文数据库
刘军;[D];中国科学院研究生院(国家授时中心);2002年
胡辽林;[D];西安电子科技大学;2004年
朱江章;[D];湖南大学;2007年
刘双平;[D];解放军信息工程大学;2007年
易志强;[D];浙江大学;2006年
中国硕士学位论文全文数据库
李诚;[D];西安电子科技大学;2000年
林蕾;[D];华北电力大学;2000年
汪西原;[D];西安电子科技大学;2001年
郝兵兵;[D];西安电子科技大学;2002年
陈林;[D];大连海事大学;2000年
丛海林;[D];大连海事大学;2001年
孙颖;[D];大连海事大学;2001年
李嘉席;[D];河北工业大学;2002年
田志新;[D];大连理工大学;2002年
冯锦;[D];湖南大学;2002年
【相似文献】
中国期刊全文数据库
余幼宁;[J];国外社会科学;1980年10期
;[J];信息安全与通信保密;1981年03期
绍轼;;[J];信息安全与通信保密;1981年04期
王细李;[J];电信科学;1985年03期
段银田;;[J];郑州大学学报(工学版);1985年01期
;[J];电子技术;1986年01期
俞宝传;;[J];遥测遥控;1987年05期
;[J];电子技术;1988年11期
彭永法;;[J];南京邮电大学学报(自然科学版);1988年02期
黄伟京;[J];华中科技大学学报(自然科学版);1991年01期
中国重要会议论文全文数据库
曹鹏;;[A];1999年中国智能自动化学术会议论文集(下册)[C];1999年
方文郁;;[A];中国航海学会通信导航学术年会(1992)论文集[C];1992年
梅海青;张毅颍;;[A];大连海事大学校庆暨中国高等航海教育90周年论文集(船舶通信与导航分册)[C];1999年
陈静;;[A];大连海事大学校庆暨中国高等航海教育90周年论文集(船舶通信与导航分册)[C];1999年
沈保锁;曹达仲;刘开华;;[A];电子高等教育学会2000年学术年会论文集[C];2000年
陈文正;金向东;;[A];电子高等教育学会2000年学术年会论文集[C];2000年
王华奎;张立毅;韩应征;;[A];2001中国电子教育研究论文集[C];2001年
韩焱;王召巴;杨风暴;;[A];全国光学、光电和电子类专业教学经验交流、研讨会专集[C];2002年
周又玲;;[A];全国光学、光电和电子类专业教学经验交流、研讨会专集[C];2002年
仇润鹤;唐明浩;;[A];全国光学、光电和电子类专业教学经验交流、研讨会专集[C];2002年
中国重要报纸全文数据库
双木;[N];中国电脑教育报;2003年
陈伟周;[N];通信信息报;2003年
北京总队二支队;[N];人民武警;2009年
高博;[N];科技日报;2009年
中国硕士学位论文全文数据库
耿虎军;[D];西安电子科技大学;2000年
李畅怡;[D];湖南大学;2001年
杨学兵;[D];西安电子科技大学;2001年
陈斌龙;[D];西安理工大学;2002年
周冬梅;[D];成都理工大学;2002年
吴玉田;[D];中国科学院研究生院(长春光学精密机械与物理研究所);2002年
倪艳;[D];南京师范大学;2002年
王树勇;[D];河海大学;2003年
王秋瑾;[D];华北电力大学(北京);2003年
杨明花;[D];山东师范大学;2003年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号Matlab中的N=size(X,2)是什么意思_矩阵_中国百科网
Matlab中的N=size(X,2)是什么意思
    该文章讲述了Matlab中的N=size(X,2)是什么意思.
Matlab中的N=size(X,2)是什么意思?
size():获取矩阵的行数和列数 (1)s=size(A),
当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。(2)[r,c]=size(A),
当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。
(3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数。
~~matlab中的diag函数 来源:/��֪С��/blog/item/c1b810c24b037e0c0ef47705.html 使用方法
X = diag(v,k) 对角矩阵
9 当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k&0表示在主对角线上方,k&0表示在主对角线下方,对角线的位置如图1所示。 Matlab中文论坛
X = diag(v) 向量v在方阵X的主对角线上,类似于diag(v,k),k=0的情况。
v = diag(X,k) 返回列向量v,v由矩阵X的第k个对角线上的元素形成
v = diag(X) 返回矩阵X的主对角线上的元素,类似于diag(X,k),k=0的情况
复数的虚部。 [语法】
Y=imag(z) [函数描述]
Y=imag(z)
返回z中个元素的虚部。
[应用实例】
imag(2+3i) ans=3
~~find函数
寻找非0元紊的指标和值. [语法]
k=find(x)
[i,j]=find(x)
[i,j,v)=find(x) [函数描述]
k=find(x)
返回数组x中指向非0元素的指标。如果没有找到这样的指标,函数则将返回一个空矩阵。
[i,j]=find(x)
返回矩阵x中非0元紊的行和列的指标。这一语法格式常常适用于稀疏矩阵。
[i,j,v]=find(x)
返回x中非0元素组成的列向量v,也包括行和列指标。
总体上说,find(x)将x当作x(:)来处理,它是一个通过连接x的各列形成的一个长的列向量。
~~矩阵求逆的函数:inv(a)
~~矩阵的行列式:det(a) ~~求a的伴随矩阵a*=det(a)*inv(a)
~~用MATLAB求代数余子式 http://./blog/static//该文章讲述了Matlab中的N=size(X,2)是什么意思(2).
这里介绍两种方法
第一种:根据定义
H=[1,2,3;1,4,9;1,8,27]; [n,m]=size(H); for i=1:n ni=1:n; ni(i)=[]; for j=1:m
A(i,j)=(-1)^(i+j)*det(H(ni,mj)) end end A=A'
B在这里是矩阵H的伴随矩阵
第二种:根据矩阵的逆来求
A=det(H)*inv(H)
即可得:H(i,j)对应的代数余子式为A(j,i)
~~matlab 如何求矩阵的秩 rank(a) ~~
在matlab中如何控制数据的输出格式(数据显示方式)?(完整总结)
format 缺省时为默认短格式方式与format short相同
format short 短格式方式,显示5位定点十进制数。
format long 长格式方式,显示15位定点十进制数。
format short g 当数据大于1000或小于1时便会以科学记数法显示(-e),若想坚持用整数部分加小数部分的格式来显示,就要再后边加 g
format long g
format hex 十六进制格式方式。
format bank 银行格式。按元、角、分(小数点后具有两位)的固定格式。
format + +格式,以+,&和空格分别表示中的正数,负数和零元素
format short e 短格式e方式,显示5位浮点十进制数
format long
e 长格式e方式,显示15位浮点十进制数。
format rat 分数格式形式。用有理数逼近显示数据。如pi显示为355/113。
format loose 松散格式。数据之间有空行。
format compact 紧凑格式。数据之间无空行。
vpa(date,n) 将数据date以n位有效数字显示。
~~Matlab 用什么函数判断两个矩阵是否相等?
isequal(a,b) % 返回=1,两矩阵相等;=0,不相等
Copyright by ;All rights reserved.当前位置: >>
>> 浏览文章
Matlab中的N=size(X,2)是什么意思(2)
文章来源:不详 作者:佚名
& 这里介绍两种方法
& 第一种:根据定义
& H=[1,2,3;1,4,9;1,8,27]; [n,m]=size(H); for i=1:n ni=1:n; ni(i)=[]; for j=1:m & mj=1:m; & mj(j)=[]; & A(i,j)=(-1)^(i+j)*det(H(ni,mj)) end end A=A'
& B在这里是矩阵H的伴随矩阵
& 第二种:根据矩阵的逆来求
& A=det(H)*inv(H)
& 即可得:H(i,j)对应的代数余子式为A(j,i)&
& ~~matlab 如何求矩阵的秩 rank(a) ~~
在matlab中如何控制数据的输出格式(数据显示方式)?(完整总结)
format& 缺省时为默认短格式方式与format short相同& & format short& &短格式方式,显示5位定点十进制数。& & format long& &长格式方式,显示15位定点十进制数。
& format short g 当数据大于1000或小于1时便会以科学记数法显示(-e),若想坚持用整数部分加小数部分的格式来显示,就要再后边加 g
& format long g & format hex& &十六进制格式方式。& & format bank& &银行格式。按元、角、分(小数点后具有两位)的固定格式。& & format +& &+格式,以+,&和空格分别表示中的正数,负数和零元素& & format short &e& &短格式e方式,显示5位浮点十进制数& & format long & e& &长格式e方式,显示15位浮点十进制数。& & format rat& &分数格式形式。用有理数逼近显示数据。如pi显示为355/113。& & format loose& &松散格式。数据之间有空行。& & format compact& &紧凑格式。数据之间无空行。
& vpa(date,n) 将数据date以n位有效数字显示。
~~Matlab 用什么函数判断两个矩阵是否相等?&
&isequal(a,b) &% 返回=1,两矩阵相等;=0,不相等
中国高校自动化网 All Rights Reserved.
信息产业部备案号:matlab中常数下有点是什么意思?如 Nr[-1./4.*(1-s) 1./4.*(1-s)],你看-1、4、(1-s)下标有点,是什么意思
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因&
学习中碰到了一段matlaba程序,自己没学过,眼下也没相关书籍
已有1个回答
[编辑专家]
专家星级&:&0.5星
问答堂专家综合评分
问题评分&:&0星
采纳、点赞&:&0星
二次回复率&:&5星
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因×
加上点“.”后表示两个矩阵或向量对应位置进行运算,这时候要求进行操作的两个变量必须维数相同(与矩阵乘法对矩阵维数要求不同)初学者可以看一些简单的例子;给你举个简单例子>> A=[1,2;3,4];B=[1 0;0,1];>> A*Bans =
4>> A.*Bans =
留下你的评论
微信公众账号ZOL问答堂
关注微信,随时随地解答您的疑惑
ZOL问答堂官方微博@ZOL问答堂
关注成功!该问题被回答后,将给您发送站内短信。
您也可以通过关注问答堂微信,及时获得您关注问题的回答。
微信关注问题方法“”

我要回帖

更多关于 0n是什么意思 的文章

 

随机推荐