给符号函数的变量赋值并求函数值
(2013-04-04 21:31:49)分类: 菜B学MATLAB |
开始学matlab时觉得这玩意忒麻烦了,譬如说想写一个函数
y(x)=sin(x)+2*x;就必须要用到这么一个概念:符号函数。
y1=eval_r(['@(x)'
vectorize(y)]); //建立y的匿名函数
符号函数使用方法如下:
f=sym('sin(x)+2*x'); //函数名 =
sym('函数表达式');
但,又遇到一个问题。如何对x进行赋值,并计算函数值?甚至更简单的,如何让matlab知道函数自变量是‘x’。
搜索资料,总结几种方法如下:
1.最简单的方法是使用内联函数 “inline”
代码如下:
syms x;
y=sin(x)+2*x;
y1=inline(y,x);
则y1(x0) 即可求得y在x=x0 处的值。
2.使用匿名函数
这是函数句柄的一种高级用法, 这样产生的函数句柄变量不指向特定的函数,
而是一个函数表达式. 其语法:
变量名=@(输入参数列表)运算表达式。
代码如下:
则y1(x0)即为x=x0处的值。
3.使用subs函数
例:
a=subs(y,x,1); //把y中的x换为1则可得到f(1)的值。