关于matlab的学习的记录

来源:互联网 发布:php有一对小兔子 编辑:程序博客网 时间:2024/04/29 09:05

我先慢慢的积累,之前用过的会忘记,算是一个记录吧。

clear; 清除原有变量     clc; 清楚命令窗口的内容       demo; 查看帮助     help 查看帮助      quit 退出      matlabfigure 新建图形窗口。    

clf; 用来清除图形的命令,一般在画图之前用。

假设一个场景:你原来打开的matlab里面,有一个图形,现在,你要画一个新的图形,如果你手动关闭这个原有图形,也不用clf命令清楚图形,直接画上去,那么原来的图形和你要画的图形就会重叠在一起。会造成干扰。

 

2、matlab字符串操作函数
 

   最近写程序,用到很多字符串操作函数,最后还是regexprep,这个支持正则表达的查找替换函数帮了大忙,与之类似的函数还有regexp,regwxpi,下面再列几个,以防以后再用到,就不用到处搜了.

MATLAB提供了大量的字符串函数,包括列在表中的。

 

字  符  串  函  数

eval(string)

作为一个MATLAB命令求字符串的值

eval(try,catch)

blanks(n)

返回一个n个零或空格的字符串

deblank

去掉字符串中后拖的空格

feval

求由字符串给定的函数值

findstr

从一个字符串内找出字符串

isletter

字母存在时返回真值

isspace

空格字符存在时返回真值

isstr

输入是一个字符串,返回真值

lasterr

返回上一个所产生MATLAB错误的字符串

strcmp

字符串相同,返回真值

strrep

用一个字符串替换另一个字符串

strtok

在一个字符串里找出第一个标记

    列在上面的第一个函数eval给MATLAB提供宏的能力。其中,该函数提供了将用户创建的函数名传给其它函数能力,以便求值。它的应用例子包括:

                                      » a=eval(' sqrt(2) ')

                                      a =

                                          1.4142

                                      » eval(' a=sqrt(2) ')

                                      a =

                                          1.4142

    上面的例子演示了函数eval。显然,它们不是计算2的平方根的最简单方法。当被求值的字符串是由子字符串连接而成,或将字符串传给一个函数以求值时,eval非常有用。

    如果字符串传递到eval不能被辨认,MATLAB提供下列语法:

                             » eval(' a=sqrtt(2) ',' a=[  ] ')

                             a =

                                  [  ]

    这里第二个参量被执行。由于第一个参量有误,即sqrtt不是一个有效的MATLAB函数。这种形式经常被描述为eval(try,catch)

    函数fevaleval类似,但在用法上有更多的限制。feval(' fun ',x)求由字符串' fun '给定的函数值,其输入参量是变量x。即feval(' fun ',x)等价于求fun(x)值。例如,

                             » a=feval(' sqrt ' ,2)

                             a =

                                 1.4142

    函数evalfeval的基本用途限在用户创建的函数内。一般地,feval可求出有大量输入参量的函数值,例如,feval(' fun ', x, y, z)等价于求fun(x, y, z)值。

    列在上面表中的许多字符串函数提供了基本的字符串语法分析能力。例如,findstr返回一个在另一个字符串内字符串的起始下标值。

          » b=' Peter Piper picked a peck of pickled peppers ' ;

          » findstr(b,'  ')   %  find space

          ans =

               6    12    19    21    26    29    37

          » findstr(b,' p ')   %  find the letter p

          ans =

               9    13    22    30    38    40    41

          » find(b= = ' p ')   % for single character searches the find command works too

          ans =

               9    13    22    30    38    40    41

          » findstr(b, ' cow ')   %  find the word cow

          ans =

               [  ]

          » findstr(b,' pick ')     %  find the string pick

          ans =

              13    30

    注意这个函数对大小写是敏感的,当不匹配时,返回空矩阵。findstr对字符串矩阵不起作用。

                   » strrep(b, ' p ', ' P ')      %  capitalize all p ' s

                   ans =

                   Peter PiPer Picked a Peck of Pickled PePPers

                   » strrep(b, ' Peter ', ' Pamela ')    %  change Peter to Pamela

                   ans =

                   Pamela Piper picked a peck of pickled peppers

    正如上面所看到的,strrep执行简单的字符串替代。strrep对字符串矩阵不起作用。

    函数strtok找出由特定字符指定的字符串内的标记,空格是缺省限定字符。例如,

          » disp(b)

          Peter Piper picked a peck of pickled peppers

          » strtok(b)    %  find first token in above string separated by whitespace

          ans =

          Peter

          » [c, r]=strtok(b)    %  return the remainder of the string array in r

          c =

          Peter

          r =

          Piper picked a peck of pickled peppers

          » [d,s]=strtok(r) %find the next token by using the previous remainder

          d =

          Piper

          s =

          picked a peck of pickled peppers

    用空格作为限定符,strtok找出在数组中的单词。strtok对字符串矩阵不起作用。

                   » [d, s]=strtok(b, ' pP ') %let delimiter be lower or upper case P

                   d =

                   eter

                   s =

                   Piper picked a peck of pickled peppers

    如果提供一个可选的字符串,它的字符是限定符。注意在标记里,不返回限定符,但返回所有限定符之前的字符。也就是,在上面的字符串d = eter末端有一个空格。

 

3、MATLAB试探函数

 matlab中的另一种判断语句为:try.....catch语句,这种语句可以包容程序运行中的错误,并返回错误类型。这种语句的结构为:

try

        %第一次执行的函数,f1

catch

        �出错后执行的函数,f2

end

该语句首先从上到下依次执行,如果遇到程序错误则运行下一个catch中的语句,依次向下运行。如果程序运行成功,则退出该判断语句。如果catch...end之间的程序运行出错,则程序运行终止,或者如果存在其他的try...catch结构。可以利用lasterr命令查看发生错误的原因。

 

 

原创粉丝点击