目录
一.匿名函数
在matlab中形如下面的的函数叫做匿名函数
1.匿名函数的定义
%匿名函数的定义
f=@(x,y) x^2+y^2;
f(2,3) %匿名函数和数学中的函数非常相似,可以用来直接求数值
在表达式中@(x,y)x中(x,y)表示函数的自变量,随后在后面写上函数的表达式子,@符号可以看成匿名函数的标志
当然自变量也可以是一个矩阵x,表达式中的自变量就是x中的元素,矩阵的访问用x(1),x(2)
g=@(x) x(1)+x(2)+x(3); %定义一个函数,有三个自变量,函数的值为自变量之和
g([2,3,4]) %传入的参数也的是矩阵
2.匿名函数中的复合函数
clc,clear
f=@(x) x^2; %f(x)=x^2
g=@(x) 2*x; %g(x)=2*x
z=@(x) f(g(x)); %复合函数
z(2)
将f(x)的自变量用g(x)来代替,就可以生成对应的复合函数
二.符号函数
1.符号函数的定义
需要用到关键字syms
%符号函数的定义
syms x y
g=x^2+y^2;
%g(2,3) %报错,符号函数和普通函数不同,不可以直接求值
syms的意思是,将后面的变量符号化
注意:符号函数不可用来求值,x,y的地位是等价的,都是一个符号,这使得符号函数求导数求微分等操作非常灵活,详细见小编的另一篇文章----matlab在高等数学中的应用
2.定义一个有未知常量的函数
我们可以使用syms定义的符号变量在匿名函数的定义中当作一个未知常量
clc,clear
syms k
f=@(x) k*x; %我们将符号变量k当作一个常量
f(2)
结果为 2*k
例子:
a,b,c为常数
上式子在matlab中可以定义为
clc,clear
syms a b c
f=@(x) a*x^2+b*x+c;
以上就是matlab中两个常用函数的介绍,下一节将会介绍函数文件的创建和使用!
补充,对于函数我们有下面操作(详细见小编的另一篇文章----matlab在高等数学中的应用)
clc,clear
syms a b c
f=@(x) a*x^2+b*x+c;
solve(f) %求根
diff(f,x) %对x求导
int(f,x) %对x求积分