matlab数值导数计算
先确定 假设在[-3,3]区间(定义域)内以0.01为步长求数值导数。
第一种:首先用一个4次多项式p(x)拟合y=f(x),并对p(x)求一般意义下的导数dp(x),然后求出dp(x)在假设点的值;
第二种:直接求y=f(x)在假设点的数值导数;
第三种:先手工算出y=f(x)导函数,然后求在假设点的值。
程序如下:
f=inline('sqrt(x.^3+2*x.^2-x+12)+7*x.^2+36');
x=-3:0.01:3;
p=polyfit(x,f(x),4);
dp=polyder(p);
dpx=polyval(dp,x);
dx=diff(f([x,3.01]))/0.01;
g=inline('(3*x.^2+4*x-1)./sqrt(x.^3+2*x.^2-x+12)/2+14*x');
gx=g(x);
plot(x,dpx,x,dx,'.',x,gx,'-');
怎样利用Matlab求函数的导数
第一种情况、求符号函数的导数:这是最为常见的情况,利用diff函数求符号函数的导数。
1.打开Matlab-->新建脚本文件-->新建一个脚本文件(m文件)用于编写程序,在m文件中编写程序方便修改
2.以求下图一所示函数的一阶导数和二阶倒数为例。在m文件中输入下图二所示求解程序-->保存-->运行。这里的画图函数是fplot,不是plot,因为plot函数画图时函数值应该是数据格式。
3.点击运行程序以后可以在命令窗口看到各阶导数的表达式,同时在figure页面可以看到各阶导数的图形。
第二种情况:求已知自变量的数值函数的导数:这种情况下自变量是已知的,在求导数时要注意对自变量的处理。
1. 打开Matlab-->Ctrl+N-->新建一个脚本文件-->用脚本文件编写程序方便修改。
2. 求图一所示函数在自变量x取值[-2*pi,2*pi]内的一阶、二阶、三阶导数,并画出函数图像。在m文件中输入图二所示程序-->保存-->点击运行。
3.运行程序以后得到求解结果,这里得到的求解结果是一个个数值的形式-->利用plot函数画出个函数图像如图二所示。
Copyright (C) 1999-20120 www.ahcar.com, All Rights Reserved
版权所有 环球快报网 | 京ICP备2022018928号-24联系我们:315 541 185@qq.com