利用matlab解决求解函数微分

1. 问题提出
最近在复习高等数学,感觉可以结合 去理解他。
遇到了一个题目:
2. 具体代码
%{
解决函数微分问题
%}
clc; clear; close all;
syms x; % be careful performance issue.
f1 = @(x) x^3 - x;
dfdx_syms = diff(f1,x);
dfdx = matlabFunction(dfdx_syms);
[dy,new_y]=getDy(2,1,dfdx,f1)
change_y=getChange(2,1,f1)
[dy,new_y]=getDy(2,0.1,dfdx,f1)
change_y=getChange(2,0.1,f1)
[dy,new_y]=getDy(2,0.01,dfdx,f1)
change_y=getChange(2,0.01,f1)
function [dy,new_y] = getDy(x0,dx,dydx,f)
%myFun 求函数的微分,及函数微分近似
%x0 某点
%dx 自变量的变换
%dydx 函数的导函数
%dy 函数的微分
%new_y 函数值的微分近似
dy=dydx(x0)*dx;
new_y=f(x0)+dy;
end
function change_y = getChange (x0, change_x, f)
%change_y 求函数变化量
change_y = f(x0+change_x)-f(x0);
end
3. 测试结果
当时,结果如下表
![]() |
![]() |
![]() |
|
---|---|---|---|
1 | 11 | 18 | |
0.1 | 1.1000 | 1.1610 | |
0.01 | 0.1100 | 0.1106 |