MATLAB细节笔记

时间:2023-03-10 05:16:49
MATLAB细节笔记
  • 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 =