MATLAB细节笔记

  • input函数

input('please input','s') 或者 input('please input').前者不管输入什么都会变成字符串,后者如果输入数字,那么matlab会识别成数字。如

>> a=input('please input  ')
please input  5

a =

     5

>> whos a
  Name      Size            Bytes  Class     Attributes

  a         1x1                 8  double  
  • eval函数

次函数可以把字符串表达式转化为MATLAB数学运算表达式,如

>> a='c';
>> b=2:4;
>> eval([a,'=b'])

c =

     2     3     4

>> 

还可以妙用eval获得匿名函数例如:

>> f=eval(['@(x)','x^2'])

f =

  包含以下值的 function_handle:

    @(x)x^2

>> f(2)

ans =

     4
  • vectorize函数

可以把字符串表达式或者符号表达式向量化,即加上(.)运算符,返回的是字符串,所以经常配合eval使用。一个经典例子是使用匿名函数来实现符号表达式的赋值:

>> syms x z
>> syms x y z
>> z=x^2+y^2
z =
x^2 + y^2
>> f=eval(['@(x,y)',vectorize(z)])
f =
  包含以下值的 function_handle:
    @(x,y)x.^2+y.^2
>> f(1,3)
ans =
    10

 

  

 

posted on 2018-11-01 18:08  BabyStep  阅读(338)  评论(0编辑  收藏  举报

导航