1/88Matlab笔记基础操作1、基础命令Cd+绝对路径:改变当前目录Pwd:查看当前目录的绝对路径docaddpath:出现帮助菜单中关于addpath的知识helpaddpath:命令窗口出现addpath的介绍lookfor:关键词搜索命令,lookforcolor与color有关的函数注:搜索时有时会出现大量信息,按ctrl+C可终止搜索,或者在使用该命令前先输入moreon来启动分屏显示功能,输入moreoff回车,可以关闭分屏显示功能。What:查看当前目录下的文件那些和matlab有关Whatgeneral:列出matlab的基础函数名Which:可以很方便地给出某个函数的绝对路径Demo回车:可以进入matlab自带的演示教程home回车:将光标置于当前窗口的左上方(1)EditEditorcreatefileAlternativesAsanalternativetotheeditfunction,selectFileNeworOpenintheMATLABdesktoporanydesktoptool.Syntaxediteditfun.meditfile.exteditfun1fun2fun3...editclassname/funeditprivate/funeditclassname/private/funedit+packagename/classname/funedit('myfile.m')Descriptioneditopensaneweditorwindow.editfun.mopensthefilefun.minthedefaulteditor.Thefun.mfilespecificationcanincludeapartialpath,completepath,relativepath,ornopath.Beawareofthefollowing:Ifyoudonotspecifyapath,thecurrentfolderisthedefault.Ifyouspecifyapath,thefoldermustexist;otherwiseMATLABreturnsanerror.Ifyouspecifyapathandthefolderexits,butthespecifiedfiledoesnot,apromptopenssuchasshowninthefollowingimage:Tocreateablankfilenamedfun.minthespecifiedfolder,clickYes.Tosuppresstheprompt,selectDonotshowthispromptagain.Toreinstate2/88thepromptaftersuppressingit,openthePreferencesdialogboxbyselectingFilePreferencesGeneralConfirmationDialogsandthenselectingPromptwheneditingfilesthatdonotexistinthepaneontheright.editfile.extopensthespecifiedfile.editfun1fun2fun3...opensfun1.m,fun2.m,fun3.m,andsoon,inthedefaulteditor.editclassname/fun,oreditprivate/fun,oreditclassname/private/funopensamethod,privatefunction,orprivatemethodforthenamedclass.edit+packagename/classname/funopensamethodforthenamedclassinthenamedpackage.edit('myfile.m')opensthefilemyfile.minthedefaulteditor.Thisformoftheeditfunctionisusefulwhenafilenamecontainsaspace;youcannotusethecommandforminsuchacase.2、命令输入的几个实用方法a、利用tab按键输入命令的前几个字符,接着连按两下tab键,出现函数列表b、利用键盘上的上下方向键,调出历史命令c、当matlab按顺序执行很多命令时,可将要运行的大量命令统一存放在一个文本文件里,扩展名为.m,然后在命令窗口键入这个文件名,回车,matlab就会一次性地执行这些命令3、matlab保留常数Anseps:当前计算机的零阈值i和f:若i和f值不被改写,则它们代表虚数单位,使用前,应确定它们没有被改写。恢复变量:i=sqrt(-1)。Inf:无穷大,负无穷用-inf表示NaN:非数(notanumber)Nargin:函数输入的变量的实际个数Nargout:函数输出变量的实际个数Pi:圆周率4、变量命名规则首个字符必须是字母,并且后面字符不能包含空格、标点和括号。Matlab中大小写字符表示的含义不同5、数据类型结构利用helpdatatype查看所有的数据类型基本类型常用的:数值型:双精度、浮点数,其matlab表示为double逻辑型:只包含1,0。1为true,0为false字符型:赋值时,字符串是用单引号括起来的单元数据clearall%清除计算机内存所保存的变量和函数who%查看当前内存里的变量名whos%查看当前内存里变量的详细说明clc%清屏注:命令行结尾加上一个分号表示不屏显结果,只运行命令。3/88矩阵1、基本规则a、矩阵元素必须在中括号内[]b、同行元素之间用空格或逗号隔开c、行与行之间可以用分号或回车隔开d、如果矩阵的某行过长,可以在续行符…后另起一行接着输入2、矩阵函数Ones:生成元素全为1的矩阵,ones(n)将生成n*n的矩阵Zeros:生成元素全为0的矩阵Nan:生成元素全为nan的矩阵Rand:生成在[0,1]区间均匀分布的随机矩阵Randn:生成均值为0,方差为1的标注正态分布随机矩阵Eye:生成单位矩阵,主对角线元素全为1Linspace:生成等间隔的行向量,其调用格式为:linspace(a,b,n),其中a和b是生成向量的第一个和最后一个元素,n是元素总数Magic:魔方矩阵3、矩阵运算+-*/(右除)\(左除)^(乘方)‘(转置)a、点运算点运算符号有.*./.\.^两矩阵进行点运算是指对它们的对应元素进行相关运算,要求两个矩阵的维数相同b、关系运算====(等于)~=(不等于)运算规则(1)当对象为两个标量,则直接比较大小关系,成立结果为1,否则为0(2)当参与比较的是两个维数相同的矩阵时,比较是对两个矩阵相同位置的元素按标量关系运算规则逐个进行,结果为一个维数与原矩阵相同的矩阵,元素由0或1组成(3)当一个是标量,一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出一个维数与原矩阵相同的矩阵,由0或1组成C、逻辑运算&(与)|(或)~(非)d、冒号操作b=-3:2%生成间隔为1的向量c=130:-2.4:115%中间可以指定任意间隔d=a(:,3)%提取矩阵a的第3列元素,并转置后赋值给变量dE、矩阵的维数a=1234789103469571011[s1,s2]=size(a)%将矩阵a的每一维的长度赋值给s1和s2S1=4s2=4b1=length(b)%向量b的长度b=-3-2-10124/88b1=6ndims(a)%直接得到a的维数Ans=2f、空矩阵的应用空矩阵的表示[]a(3,:)=[]%删除矩阵a的第3行h、矩阵的翻转(1)利用撇号可以实现矩阵的行列互换(2)fliplr(a)%将矩阵a左右翻转,第一列变成最后一列,以此类推flipud(a)%将矩阵a上下翻转,第一行变成最后一行,以此类推rot90(a)%将矩阵a逆时针旋转90度Rot90(a,k):将矩阵a逆时针旋转k倍的90度,k为1可省略g、矩阵的拼接b=[aones(3,6)*2;nan(size(a))a-1]k、基本函数操作helpelfun和helpmatfun可以查看基本的数学函数和线性代数运算函数列表sum(a)%对矩阵a的每一列求和sum(a(:));%对矩阵a的全部元素求和a(:)将矩阵a变成向量a补充:type+文件名%查看当期文件目录下的内容利用mat文件可以将当前matlab工作空间中的一些有用的变量长久地保留下来,扩展名为.mat,mat文件生成和装入用save和load命令完成常用格式:Save文件名[变量名表][-append][-ascii]load文件名[变量名表][-ascii]savewps%保存为wps.mat文件lswps.matloadwps%装入mat文件savewpsxy%只保存xy变量loadwpsx%只装入x变量helptic/toc%时间机器取整函数:fixfloorceilroundfix(1.2)=1fix(2.3)=2靠近0取整floor(1.2)=1floor(-1.2)=2靠近负无穷取整ceil(1.2)=2ceil(-1.2)=-1靠近正无穷取整round(1.2)=1round(1.6)=2四舍五入a=[123;456]a(end,end)ans=6a(end-1,end)ans=2Matlab指令及函数总结5/88☆logicalConvertnumericvaluestologicalSyntaxK=logical(A)K=logical(A)returnsanarraythatcanbeusedforlogicalindexingorlogicaltests.ExamplesGivenA=[123;456;789],thestatementB=logical(eye(3))returnsalogicalarrayB=100010001whichcanbeusedinlogicalindexingthatreturnsA'sdiagonalelements:A(B)ans=159However,attemptingtoindexintoAusingthenumericarrayeye(3)resultsin:A(eye(3))???Subscriptindicesmusteitherberealpositiveintegersorlogicals.☆ndimsNumberofarraydimensionsSyntaxn=ndims(A)Descriptionn=ndims(A)returnsthenumberofdimensionsinthearrayA.Thenumberofdimensionsinanarrayisalwaysgreaterthanorequalto2.Trailingsingletondimensionsareignored.Asingletondimensionisanydimensionforwhichsize(A,dim)=1.Algorithmsndims(x)islength(size(x)).☆sizeArraydimensionsSyntaxd=size(X)[m,n]=size(X)m=size(X,dim)[d1,d2,d3,...,dn]=size(X),Description6/88d=size(X)returnsthesizesofeachdimensionofarrayXinavectordwithndims(X)elements.IfXisascalar,whichMATLABsoftwareregardsasa1-by-1array,size(X)returnsthev