当前位置:   article > 正文

matlab函数输入工具,MATLAB 符号工具箱(Symbolic Math Toolbox)函数简介

symbolic math toolbox

数值运算是MATLAB的核心功能。但广大科研人员对符号运算的需求催生MATLAB产生了一个新的工具箱:Symbolic

Math Toolbox。

先来看一个简单的例子:

syms a b c x

f = a*x^2 + b*x + c;

便定义了一个符号函数f

如果要将f中的某些参数替换为数值,用subs函数

g = subs(f, {a, b, c}, {1, 4,

1});

表示将a替换为1,b替换为4,c替换为1。

除了syms类型,inline和匿名函数也是该Symbolic Math Toolbox的常客。

1 inline与匿名函数(Anonymous

Functions)

利用inline函数生成inline object的简单例子如下:

f = inline('a*x^2 + b*x + c', 'a',

'b', 'c', 'x')

f(1, 2, 3, 1)

结果为:

f =

Inline function:

f(a,b,c,x) = a * x^2 + b * x + c

ans =

6

但MATLAB官方已经申明在后续的版本中inline会被移除,取而代之的是匿名函数(Anonymous

Functions)。之所以有必要搞清楚这个新东西,是因为MATLAB提供的很多其它函数的argin只能为function

handle,比如integral, fzero, and fminbnd函数。

将上述代码改为匿名函数的代码如下,而匿名函数的调用同普通子函数function一样,括号里面为输入参数

f = @(a, b, c, x) a*x^2 + b*x +

c

f(1, 2, 3, 1)

结果为:

f =

@(a,b,c,x)a*x^2+b*x+c

ans =

6

但是,如果argin中只要有一个不是数值,而是参数,要么在调用前用syms定义此参数,要么在调用的时候再以@开头,声明为匿名函数

f = @(a, b, c, x) a*x^2 + b*x +

c

y1 = @(x) f(1, 2, 3, x)

syms x

y2 = f(1, 2, 3, x)

结果为:

y1 =

@(x

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/90172
推荐阅读
相关标签
  

闽ICP备14008679号