在MATLAB中使用LaTex字符.doc_第1页
在MATLAB中使用LaTex字符.doc_第2页
在MATLAB中使用LaTex字符.doc_第3页
在MATLAB中使用LaTex字符.doc_第4页
在MATLAB中使用LaTex字符.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在MATLAB中使用LaTex字符1.Tex字符表在text对象的函数中(函数title、xlabel、ylabel、zlabel或text),说明文字除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。例如,text(0.3,0.5,sin(omegat+beta)将在图形窗口的(0.3,0.5)位置得到标注效果sin(t+)。Tex字符在输出一些数学公式时经常使用,它只能由类型为text的对象创建。函数title、xlabel、ylabel、zlabel或text都能创建一个text对象,因此Tex字符转义符(带“”的字符串)经常作为这些函数的输入参数。Tex字符及其函数见下表。函数字符代表符号函数字符代表符号函数字符代表符号alphaaupsilonusimbetabphifleqgammagchicinftydeltadpsiYclubsuitepsiloneomegawdiamondsuitzetazGammaGheartsuitetahDeltaDspadesuitthetaqThetaQleftrightarrowvarthetaJLambdaLleftarrowiotaiXiXuparrowkappakPiPrightarrowlambdalSigmaSdownarrowmumUpsilonUcircnunPhiFpmxixPsiygeqpipOmegaWproptorhorformallpartialsigmasexists$bulletvarsigmaVnidivtautcongneqequivapproxalephImRewpotimesoplusoslashcapcupsupseteqsupsetsubseteqsubsetintinoorfloorlceilnablalfloorcdotldotsperpnegprimewedgetimes0rceilsurdmidveevarpivcopyrightlanglerangle如果要输出希腊字母,可以使用texlabel函数将希腊字母的变量名转化为希腊字母的函数,供函数title、xlabel、ylabel、zlabel或text使用。texlabel转换MATLAB表达式为等价的Tex格式字符串。它处理希腊字母的变量名为实际显示的希腊字母字符串。希腊字母的变量名为“”后面的字符串。例如: texlabel(alpha)ans =alpha text(0.5,0.5,alpha2) text(0.5,0.5,texlabel(alpha2)以上两条指令均在窗口中心产生a2标注。2. Tex字符格式Tex字符还可以设置字体、颜色和位置。(1)Tex字符的字体设置有如下6种。bf:设置字体为粗体字。it:设置字体为斜体字。sl:设置字体为斜体字,很少使用。rm:设置字体为正常字体。fontname字体名:设置字体名。例如:fontname宋体。fontsize字体大小:设置字体大小。例如:fontsize16。每次设置时,it、sl、rm只能选择一种。(2)Tex字符的颜色设置有下面两种方法。color颜色名颜色名:颜色名有12种,分别为red、green、yellow、magenta、blue、black、white、cyan、gray、barkGreen、orange和lightBlue。例如:colormagentamagenta。colorrgba b c:设置字体颜色为RGB矩阵a b c所表示的颜色。a、b和c都在0 1 范围内。例如:colorrgb0 .5 .5。(3)Tex字符的位置有2种设置。_:表示下标。:表示上标。MATLAB二进制文件与文本文件文本文件将文件看作由一个一个字节组成,每个字节最高位都是0。文本文件只使用了一个字节中的低7位来储存所有的信息,而二进制文件将字节中的所有位都用上了。文件按照文本方式或二进制方式打开,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理方式也就不同。按照文本方式打开,打开时要进行转换,将每个字都转换成ASCII码;而按照二进制方式打开时,不会进行任何转换。文本文件和二进制文件的编辑方式也不同。例如,在用记事本进行文本编辑时,进行编辑的最小单位是字节;而对二进制文件进行编辑时,最小单位是位,可使用UltraEdit软件编辑二进制文件。从文件编码方式来看,文件可分为ASCII码文件和二进制码文件。ASCII码文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应字符的ASCII码。例如,数5678共占用4字节,“5”、“6”、“7”和“8”的ASCII码依次为53、54、55、56,存储形式为ASCII:00110101 00110110 00110111 00111000十进制码:5 6 7 8二进制文件是按二进制的编码方式来存放文件的。例如,数5678的存储形式为0001011000101110,只占两字节。验证如下: dec2bin(5678)ans =0001011000101110 abs(5678)ans = 53 54 55 56 dec2bin(53)ans =00110101 double(5678)ans = 53 54 55 56 bin2dec(00110101)ans = 53 char(ans)ans =5MATLAB函数句柄函数句柄是一种特殊的数据类型,它提供了间接调用函数的方法,类似于C语言中的指针,只不过这里是指向一个函数而已。函数句柄包含了函数的路径、函数名、类型以及可能存在的重载方法,必须通过专门的定义创建,而一般的图像句柄是自动建立的。可以使用函数句柄来调用其他函数,也可以将函数句柄存储在数据结构中,方便以后使用(如句柄图形中的回调函数)。创建函数句柄使用或者srt2func命令。采用创建函数句柄,是在函数名前加一个“”标志,并且不能附加函数的路径,即函数句柄=函数名。MATLAB映射句柄到指定的函数,并在句柄中保存映射信息。由于没有附加函数路径信息,如果同一个名字的函数有多个,函数句柄映射到哪个函数呢?这取决于函数调用的优先原则。函数调用的优先级从高到低排列如下:变量。调用优先级最高。MATLAB搜索工作空间是否存在同名变量,如有则停止搜索。子函数。私有函数。类构造函数。重载方法。当前目录中的同名函数。路径中其他目录中的函数。调用优先级最低。如果查询同名函数中究竟哪个函数被调用了,用which函数查询。例如: which zoomD:Program FilesMATLABR2009atoolboxmatlabgraph2dzoom.m当一个函数句柄被创建时,它将记录函数的详细信息。因此,当使用函数句柄调用该函数时,MATLAB会立即执行,不进行文件搜索。当反复调用一个文件时,可以节省大量的搜索时间,从而提高函数的执行效率。使用函数句柄有如下好处:提高运行速度。因为MATLAB在调用函数时每次都要搜索所有路径,而路径又非常多,所以一个函数在程序中需要经常用到的话,使用函数句柄会提高运行速度。使用方便。比如说,用户在某目录运行函数句柄后,创建了本目录的一个函数句柄,当用户转到其他目录下时,创建的函数句柄可以直接调用,而不需要把相应的函数文件拷贝过来。因为在用户所创建的函数中,已经包含了路径。有关MATLAB函数句柄以及相关的匿名函数的更多信息请查看本博客同类文章:“MATLAB函数句柄和匿名函数”下面代码创建一个内联函数a_humps:a_humps=inline(1./(x-.3).2+0.01)+1./(x-.9).2+0.04)-6,x)a_humps=Inlinefunction:a_humps(x)=1./(x-.3).2+0.01)+1./(x-.9).2+0.04)-6上例中,函数inline从一个字符串创建一个函数,并以x为输入变量。要在一个函数中调用内联函数,只要将该内联函数的名字作为输入参数传递给函数即可。例如,要将quad(Fun,low,high)中的Fun换为上面的内联韩式a_humps,只要按下面的方式调用即可:quad(a_humps,low,high)。要验证一个由字符串表示的函数或一个内联函数,可以使用feval函数。下面的代码验证了正弦函数和前面创建的a_humps函数y=feval(sin,pi*(0:4)/4)y=00.70711.00000.70710.0000z=feval(a_humps,1-01)z=-5.13785.176516除了字符串函数和内联函数外,还由一种函数类型:匿名函数,并用函数句柄表示它。在应用中并不鼓励用户使用前两种方法,而是要尽量使用匿名函数句柄来引用函数。下面代码给出了一个匿名函数的例子:b_humps=(x)1./(x-.3).2+0.01)+1./(x-.9).2+0.04)-6;其中,符号意味这等号左边是一个函数句柄。后面的(x)定义了函数的输入参数,最后一部分是函数表达式。我们同样可以利用feval函数来验证匿名函数,例如,可以使用下面代码验证b_humps:z=feval(b_humps,-101)z=-5.13785.176516.0000其实,用户根本没有必要利用feval函数来验证匿名函数,因为匿名函数可以使用自己的函数句柄直接进行验证,例如,上面的例子可以简写为:z=b_humps(-101)z=-5.13785.176516.0000匿名函数在定义过程中可以调用任何Matlab函数(包括用户自定义的函数),也可以使用当时Matlab工作区中存在的任何变量。例如,下例中的匿名函数b_humpsab在定义时就是用了Matlab工作区中的变量a和b:a=-.3;b=-.9;b_humpsab=(x)1./(x+a).2+0.01)+1./(x+b).2+0.04)-6;b_humpsab(-101)ans=-5.13785.176516.0000我们看到:b_humpsab在定义时引用了前面定义的变量a和b。应当注意,当a或b的值变化时,匿名函数并不改变,这是因为函数句柄值捕捉它创建时刻的变量的值,并不随变量的变化而变化。a=0;%changingthevalueofadoesnotchangthefunction.b_humpsab(-101)%evaluateagain,getthesameresultsans=-5.13785.176516.0000我们也可以针对一个内置函数或一个M文件函数创建匿名函数句柄。下面函数分别给予M文件函数humps和Matlab内置函数cos创建了两个文件句柄:c_Mfile=humps%functionhandleforM-filefunctionc_Mfile=humpsc_Mfile(1)%evaluatehumps(1)ans=16c_builtin=cosc_builtin=cosc_builtin(pi)ans=-1由上面可知,要创建一个内置函数或一个M文件函数的句柄也很容易,只要在等号右边使用符号,并在该符号后紧跟内置函数名或M文件函数名即可。我们还可以利用单元数组同时创建多个内置函数和M文件函数的句柄,验证这些函数时,只要引用该函数所在单元即可。例如,下面的代码将上面两个独立创建的句柄利用一个单元数组c_dan创建在一起:c_dan=humpscosc_dan=humpscosc_dan1(1)%evaluatehumps(1)ans=16c_dan2(pi)%evaluatecos(pi)ans=-1Matlab还专门提供了一些函数来处理和应用句柄。例如,函数functions将返回一个句柄的详细信息,如下例所示:functions(c_Mfile)ans=function:humpstype:simpl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论