用mAtlAB求函数在指定点的数值导数

clear; clc; syms x f = sqrt(x^2+1); diff_f = diff(f); y1 = subs(diff_f,x,1) y2 = subs(diff_f,x,2) y3 = subs(diff_f,x,3) 结果:y1 = 0.7071 y2 = 0.8944 y3 = 0.9487

syms xy=x^2;dy=diff(y);x=3;eval(dy)自己测试下看

f(x)=根号(x^2+1) x=1,2,3.1、MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点

>> syms x>> y=x^2+3*x y = x^2+3*x>> subs(y,1) ans = 4

diff函数求导,产生的导数是字符型的,不是数字型的;也就是说,diff函数求导产生的是函数的导函数,不是具体的某一点的数值;diff(函数) , 求函数的一阶导数; diff(函数, n) , 求函数的n阶导数(n是具体整数); diff(函数, 变量名) ,对变量的偏导数;diff(函数, 变量名,n) ,对变量的n阶偏导数;

因为你没有说明是什么具体的函数,我就以多项式函数为例吧!matlab中有个函数叫polyval,用来计算多项式在某点的函数值.示例程序:我们有多项式:f(x)=3*x^2 + 2*x +1 计算此函数在x=5处的值的代码:p = [3 2 1]; polyval(p,5) 计算结果为:ans=86

MATLAB中,diff函数用于求一阶导数例如y=x^2+3*x 求在x=2下的一阶导数值程序为:x = 2;subs(diff(y,x));具体到题主的问题,程序为syms tm=0.650;b=0.97; g=9.79;h=7.86;y=h+(g-0.2233)*(1-exp(-b*t))/b^2-(g-0.2233)*t/b;T=0:0.1:1.5;t_1 = subs(diff(y),t,T);

这是一些离散的点,导数的概念要看怎样定义.一般的做法是采用某种方法进行插值,然后对插值的曲线求导数.插值方法可以用分段三次插值或样条插值,但类似线性插值之类的方法不太适合.

用diff()来求导函数,用eval()来计算导数值.具体代码如下:运行结果为:

相关文档

matlab求函数在指定点的数值导数
matlab画数值模拟图像
matlab求函数值
matlab求极限
matlab求函数导数值
matlab全部实验及答案
matlab求导数具体的值
matlab求二元函数值
matlab求某点函数值
matlab求函数极值
matlab求函数积分
matlab求不定积分
matlab输入函数变量
matlab求二重定积分
matlab subs
matlab求二阶导数
用matlab求差分并画图
matlab中导数怎么表示
电脑版