- input函数
input('please input','s') 或者 input('please input').前者不管输入什么都会变成字符串,后者如果输入数字,那么matlab会识别成数字。如
>> a=input('please input ')
please input a = >> whos a
Name Size Bytes Class Attributes a 1x1 double
- eval函数
次函数可以把字符串表达式转化为MATLAB数学运算表达式,如
>> a='c';
>> b=:;
>> eval([a,'=b']) c = >>
还可以妙用eval获得匿名函数例如:
>> f=eval(['@(x)','x^2']) f = 包含以下值的 function_handle: @(x)x^ >> f() ans =
- vectorize函数
可以把字符串表达式或者符号表达式向量化,即加上(.)运算符,返回的是字符串,所以经常配合eval使用。一个经典例子是使用匿名函数来实现符号表达式的赋值:
>> syms x z
>> syms x y z
>> z=x^+y^
z =
x^ + y^
>> f=eval(['@(x,y)',vectorize(z)])
f =
包含以下值的 function_handle:
@(x,y)x.^+y.^
>> f(,)
ans =