MATLAB匿名函数的应用4

匿名函数和符号计算的结合

有时候需要推导一些表达式,而对得到的表达式进行诸如求值、积分或者极值的运算。如果表达式不是很复杂的话,可以手动推导。但是很多时候手动推导非常烦琐甚至根本不可能,这时候就要借助计算机来推导。在得到表达式后,再将其转化成匿名函数,从而方便的进行后续

例1求下面函数三阶导数在[0,1]的图像。
例1

本例如果用手动计算的话,比较烦琐。如果用符号运算得到三阶导数的解析表达式,然后再转化成匿名函数,则比较方便。
代码如下

syms x
f=(x+tan(x))^(sin(x));
c=diff(f,3);
f3=eval(['@(x)' vectorize(c)]);
x=linspace(0,1,100);
plot(x,f3(x),'r','linewidth',2)
title('y=(x+tan(x))\^(sin(x))三阶导数图像')
xlabel('x');ylabel('y');

得到的图形如图
三阶导数图
eval函数的功能是将字符串转换为matlab可执行语句
vectorize函数的功能是把一个接受标量的函数(更准确的说,可调用对象)变为接受向量的函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值