




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大家好,以下是操作Matlab中获得的一下操作技巧,和大家一起分享,部分内容是从网络上整理到的内容,如有侵权,请告之删除。(一)matlab中快捷键命令组合的使用技巧如下matlab中快捷键命令组合的使用技巧如下:1. Ctrl+C 中断正在执行的操作如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断。MATLAB这时可能正疲于应付,响应会有些滞后。2. figure命令新建一个绘图窗口figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口。当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象。所谓的当前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到)。figure(N),将编号为N的窗口置为当前figure,出现在所有窗口的最前面,如果该窗口不存在,则新建一个编号为N的空白figure。3. 注释掉一段程序:%、%。经典方法是用 if 0,但缺点是不够直观,注释掉的内容仍然保持代码的颜色。现在可以用 %和 的组合。输入%后,后面的代码都会变绿,在注释结束的地方再加上 % 。也可以选中要注释内容,在右键菜单中选择Comment (Uncomment去掉注释标记),或使用快捷键Ctrl+R。将光标放在需要注释的行中,按Ctrl+R,将该行变为注释。取消注释也是一样的,快捷键为Ctrl+T。4. doc 命令名,打开命令的帮助文档与help命令不同,帮助文档MATLAB Help中对命令的描述更详细,往往还有一些例子,更便于理解。5. clc 清屏清除命令窗口中的所有输入和输出信息,不影响命令的历史记录。6. clear 和clear allclear 变量名:可以清除workspace中的无用的变量,尤其是一些特别大的矩阵,不用时及时清理,可以减少内存占用。clear all 清除所有的变量,使workspace一无所有,当重新开始一次算法验证时,最好执行一次,让workspace中的变量一目了然。7. close all如果开了多个绘图窗口,用这个命令将它们一起关掉。8. 上下光标键在命令窗口中,上下光标键可以将历史记录中的命令复制到输入位置,便于快速重新执行。如果输入命令的前几个字母如 row, col =,再使用光标键,则只会选择以这些字母开始的命令。9. Tab补全对名称记得不太清楚的命令,可以输入开头的几个字母,然后按Tab键,当只有一个以这些字母开头的命令时,将自动补全命令名,否则显示一个命令名列表,方便从中选择。当然,只在命令窗口中有效。10. cell模式在一个长长的脚本m文件中,可能需要对其中的一段反复修改,查看执行效果,这时,cell模式就非常有用了。cell模式相当于将其中的代码拷贝到命令窗口中运行。两个%后接一个空格(% )开始一个cell。将输入光标放到一个cell中时,背景将变为浅黄色,Ctrl+Enter执行cell中的代码。执行cell中代码时不需要保存m文件,该m文件可以不在路径列表中。cell模式中,断点不起作用,当然,调用的子程序中的断点还是正常的。11. 获取文件列表,批处理MATLAB内置了一些文件操作命令,例如cd(切换工作目录),dir(同ls,显示目录内文件列表)等。dir命令可以返回目录中的文件和文件夹列表,存在一个结构体数组中。如果需要对一些数据文件进行批处理,而文件名又没有一定的规律,你可能需要借助于这个命令。12. 对输出图像的修改 如果需要对输出图像进行标注、坐标、颜色、线条等修改,可以在输出图像界面上,点击edit下current object properties,然后可以图像各属性进行修改。13. Ctrl+D打开子程序 在MATLAB的Editor中,将输入光标放到一个子程序名称中间,然后按Ctrl+D可以打开该子函数的m文件。当然这个子程序要在路径列表中(或在当前工作路径中)。实际上该快捷键对应右键菜单中“Open Selection”命令。14. 列出依赖函数 在Editor菜单中,选择Tools-Show Dependency Report,可以列出当前m文件调用的子程序。如果需要将程序移动到别的电脑上,使用这个工具可以确保不会漏掉一些东西。这个工具也适用于文件夹。15.显示鼠标数据内容 调试程序过程中,程序运行到断点后,将鼠标移到一个变量名上,将会弹出一个方框,显示该变量的内容。不在调试状态下,怎么使用这个功能呢?在File菜单中打开设置选项(Preferences),选择 Editor/Debugger - Display,在 General Display Options 中选择 Enable datatips in Edit Mode 。16.单元数组的基本操作清除cell中的元素 cellname(n1:n2) = ; 合并如下的两个cell数组 a = str1, str2, str3;b = 1:3; c = a(1:2), b, a(3);得到:c = str1 str2 1x3 double str3 而 c = a(1:2), b, a(3)则得到 c = 1x2 cell 1x3 double 1x1 cell cell array本质上是数组,前一种操作方式与普通数组的操作方式相同,而后一种方式则是将逗号分隔的各个元素分别一个cell,整体作为一个cell数组。cell的两种引用方式a(1) 得到 str1, 因为a是一个cell数组,所以其中的每一个元素都是一个cell,而a1 得到 str1。17.MATLAB 中的字体平滑 在File菜单中打开设置选项(Preferences),在 Fonts 中,选择底部的 “Using antialiasing to smooth desktop fonts” ,MATLAB 中默认字号比较小,可以调大一些(可以在下拉菜单中输入数字,更精细地控制文字大小)。有衬线字体打开反锯齿后可能会看起来“发虚”。18.同步缩放坐标轴linkaxeslinkaxes命令,可以将一个figure中的各个axes指定相同的坐标范围,实现各个绘图同步放大、缩小。在缩放一个绘图时,其它也会同步缩放。可以同时关联x、y轴,也可以只关联一个坐标轴。19.鼠标绘图MATLAB Help中的Interactive Plotting一文提供了一种在figure中用鼠标绘图的方法,主要使用ginput函数。20.GUI程序关闭按钮的callback 为GUI窗口右上角的关闭按钮添加回调函数:在GUIDE中打开GUI,在没有控件的地方单击,选中整个figure,右键菜单中选择 View Callbacks - CloseRequestFcn,m文件中将自动添加该回调函数,输入代码就可以了。(二)用MATLAB求定积分一、符号积分符号积分由函数int来实现。该函数的一般调用格式为:int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分;int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分;int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间a,b上的定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷(inf)。当函数f关于变量x在闭区间a,b上可积时,函数返回一个定积分结果。当a,b中有一个是inf时,函数返回一个广义积分。当a,b中有一个符号表达式时,函数返回一个符号函数。例:求函数x2+y2+z2的三重积分。内积分上下限都是函数,对z积分下限是sqrt(x*y),积分上限是x2*y;对y积分下限是sqrt(x),积分上限是x2;对x的积分下限1,上限是2,求解如下:syms x y z %定义符号变量F2=int(int(int(x2+y2+z2,z,sqrt(x*y),x2*y),y,sqrt(x),x2),x,1,2) %注意定积分的书写格式F2 =1610027357/6563700-6072064/348075*2(1/2)+14912/4641*2(1/4)+64/225*2(3/4) %给出有理数解VF2=vpa(F2) %给出默认精度的数值解VF2 =224.92153573331143159790710032805二、数值积分1.数值积分基本原理求解定积分的数值方法多种多样,如简单的梯形法、辛普生(Simpson) 法、牛顿柯特斯(Newton-Cotes)法等都是经常采用的方法。它们的基本思想都是将整个积分区间a,b分成n个子区间xi,xi+1,i=1,2,n,其中x1=a,xn+1=b。这样求定积分问题就分解为求和问题。2.数值积分的实现方法基于变步长辛普生法,MATLAB给出了quad函数来求定积分。该函数的调用格式为:I,n=quad(fname,a,b,tol,trace)基于变步长、牛顿柯特斯(Newton-Cotes)法,MATLAB给出了quadl函数来求定积分。该函数的调用格式为:I,n=quadl(fname,a,b,tol,trace)其中fname是被积函数名。a和b分别是定积分的下限和上限。tol用来控制积分精度,缺省时取tol=0.001。trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,缺省时取trace=0。返回参数I即定积分值,n为被积函数的调用次数。例:求函数exp(-x*x)的定积分,积分下限为0,积分上限为1。fun=inline(exp(-x.*x),x); %用内联函数定义被积函数fnameIsim=quad(fun,0,1) %辛普生法Isim = 0.746824180726425IL=quadl(fun,0,1) %牛顿柯特斯法IL =0.746824133988447三、梯形法求向量积分trapz(x,y)梯形法沿列方向求函数Y关于自变量X的积分(向量形式,数值方法)。d=0.001;x=0:d:1;S=d*trapz(exp(-x.2)S= 0.7468或:format long gx=0:0.001:1; %x向量,也可以是不等间距y=exp(-x.2); %y向量,也可以不是由已知函数生成的向量S=trapz(x,y); %求向量积分S = 0.746824071499185 (二)matlab中对矩阵排序的问题sort(A)若A是向量不管是列还是行向量,默认都是对A进行升序排列。sort(A)是默认的升序,而sort(A,descend)是降序排序。sort(A)若A是矩阵,默认对A的各列进行升序排列sort(A,dim)dim=1时等效sort(A)dim=2时表示对A中的各行元素升序排列看下面的例子 A=magic(3)A =8 1 63 5 74 9 2 sort(A)ans =3 1 24 5 68 9 7 sort(A,1)ans =3 1 24 5 68 9 7 sort(A,2)ans =1 6 83 5 72 4 9=Matlab中给一维向量排序是使用sort函数:sort(A),排序是按升序进行的,其中A为待排序的向量;若欲保留排列前的索引,则可用 sA,index = sort(A) ,排序后,sA是排序好的向量,index 是 向量sA 中对 A 的索引。 索引使排列逆运算成为可能。事实上,这里A sA(index) , A恒等于sA(index),这个结论确实很奇妙,而且很有用。不信你排序之后试下键入命令sA(index) ,看看得到的是不是就是排列前的A呢。=在Matlab中排序某个向量(一维)时,可以使用sort(A),其中A为待排序的向量,如果仅是用来排序A,那么直接使用sort(A)即可,如果排序后还需要保留原来的索引可以用返回值,即B,ind=sort(A),计算后,B是A排序后的向量,A保持不变,ind是B中每一项对应于A中项的索引。排序是安升序进行的。在Matlab中,访问矩阵中的元素,一维用A(1)访问向量A的第一个元素;(下标从1开始);二维用A(1,2)访问A中第一行,第二列的元素。降序排列不需要这么麻烦,只需要这样就可以了sort(A,descend)由于在sort函数的结果中,是安升序排序的,要转换成降序,先用Xeye(n)生成一个n维的单位阵,然后用Xrot90(X)将其旋转为次对角线的单位阵,再用原来矩阵乘以X即可,如要讲A逆序排列采用如下步骤:X=eye(size(A);X=rot90(X);A=A*X;假如a是一个2*n的矩阵,即两行. b=a(1,:);c,pos=sort(b);%pos为排序后的下标,c为第一行的排序结果;a(2,:)=a(2,pos);%第二行按照第一行排序的下标对应a(1,:)=c;%第一行结果重新赋给a 的第一行以下适用于m*n的矩阵按第一行排序 Y有此之后,上面对2*n的叙述有画蛇足之感 b, pos = sort( a( 1, : ) );a = a( :, pos );=matlab按某一列排序,其他列不变办法b=sortrows(a,2) %a 为要排序的矩阵。2表示按第几列进行排序,整数代表升序,负数代表降序。%将矩阵a按照第2列的升序排列,其他列不会作升序排列,而是将跟随着第2列 的变化,保持一一对应。b=sortrows(a,-3)%将矩阵a按照第3列的降序排列,其他列将跟随着第3列 的变化,保持一一对应。data = 1 3 2 7 6 5 4 9 8sortrows(data,1)ans = 1 3 2 4 9 8 7 6 5sortrows(data,-1)ans = 7 6 5 4 9 8 1 32(三)对数据毛刺的处理假如data参数第一列数据画图时有许多毛刺,可通过下面的命令进行修正data(:,1)=smooth(data(:,1),50)具体实例t=linspace(0,2*pi,500);%产生一个从0到2*pi的向量,长度500 y=100*sin(t);%产生正弦波信号%产生500行1列的服从N(0,15*15)分布的随机数,作为噪声信号 noise=normrnd(0,15,500,1); y=y+noise;%将噪声信号加入正弦波信号 figure;%新建一个图形窗口 plot(t,y);%绘制加噪波形图 xlabel(t);%为X轴加标签 ylabel(y=sin(t)+噪声);%为Y轴加标签 yy1=smooth(y,30);%利用移动平均法对y做平滑处理 figure;%新建一个图形窗口 plot(t,y,k:);%绘制加噪波形图 hold on; plot(t,yy1,k,linewidth,3);%绘制平滑后波形图 xlable(t); xlabel(t); ylabel(moving); legend(加噪波形,平滑后波形); yy2=smooth(y,30,lowess);%利用lowess方法y做平滑处理 figure; plot(t,y,k); plot(t,y,k:); hold on; plot(t,yy2,k,linewidth,3); xlabel(t); ylabel(lowess); legend(加噪波形,平滑后波形); yy3=smooth(y,30,rlowess);%利用rlowess方法y做平滑处理 figure; plot(t,y,k:); hold on; plot(t,yy3,k,linewidth,3); xlabel(t); ylabel(rlowess); legend(加噪波形,平滑后波形); yy4=smooth(y,30,loess);%利用loess方法y做平滑处理figure;plot(t,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高端公寓租赁市场品牌代理服务合同
- 2025年企业年会互动娱乐项目设计与实施合同
- 2025年度环保节能材料定制加工与销售合同
- 2025年白糖产业联盟品牌共建与市场推广合作协议
- 服饰与美容行业知识培训课件
- 2025年高效中频炉制造设备定制化生产合同
- 2025年有机农产品电商销售及品牌形象提升服务合同
- 2025年全面离婚方案定制及财产分割专业服务合同
- 2025年公共绿地景观设计施工与养护承包合同
- 2025年度生物制药研发全流程合规技术支持服务合同
- 汽车检测与维修技术专业企业调研报告
- 医学腺垂体功能减退症(0001)专题课件
- 国家级自然保护区科学考察技术方案
- 危险化学品培训教材PPT
- 叠片机说明书
- 磷酸钠安全周知卡、职业危害告知卡、理化特性表
- 知名投资机构和投资人联系方式汇总
- 循环流化床锅炉设备及系统课件
- (完整word版)教育部发布《3-6岁儿童学习与发展指南》(全文)
- 混凝土监理旁站记录
- 施工组织方案(高压旋喷桩内插h型钢)新0319教学文案
评论
0/150
提交评论