diff命令

通过调用diff命令来计算符号导数:

octave:2> syms x t;
Symbolic pkg v2.8.0: Python communication link active, SymPy v1.5.
octave:3> f = x^2;
octave:4> g = sin(10*t);
octave:5> diff(f)
ans = (sym) 2⋅x
octave:6> diff(g)
ans = (sym) 10⋅cos(10⋅t)

要想得到高阶导数,使用:

diff(f,n);

让我们来看一个例子,求它的二阶导数:


octave:8> clear
octave:9> syms t;
octave:10> f = t.*exp(-3*t);
octave:11> diff(f,2)
ans = (sym)-3⋅t3⋅(3⋅t - 2)⋅ℯ

我们可以看到diff返回求导结果,因此我们可以把结果赋值给另一个变量,以便后面使用,让我们再看一个例题:

首先让我们做一些定义:


octave:13> clear
octave:14> syms x;
octave:15> f = x.^2;
octave:16> g = 2*x;

接下来让我们计算所需的导数:

octave:17> h = diff(f)
h = (sym) 2⋅x

最后检验:

octave:18> -h+g
ans = (sym) 0

例题:


定义函数:


octave:20> syms t;
octave:21> y = 3*sin(t)+7;
octave:22> f = -5*cos(2*t);

然后检查两边是否相等:

octave:23> a = diff(y,2)+y
a = (sym) 7
octave:24> isequal(a,f)
ans = 0

由于返回0,所以y不是此方程的解。
例题:

octave:26> clear
octave:27> syms x;
octave:28> f = x.^3-3*x.^2+3*x;
octave:29> ezplot(f,[0 2])


要求出最大值和最小值,我们要对函数求导并找出零点:

octave:30> g = diff(f)
g = (sym)2          3⋅x  - 6⋅x + 3

可以使用pretty命令来让表达式更好看一点:

octave:31> pretty(g)2          3⋅x  - 6⋅x + 3

由于我使用的是Octave Oline 所以可能看着没有差别。
接下来我们求出导数等于0的根:

octave:32> s = solve(g)
s = (sym) 1

接下来我们使用subs命令来带入函数中的某个值,我们想知道x = 0,1,2时函数f的值:

octave:33> subs(f,0)
ans = (sym) 0
octave:34> subs(f,1)
ans = (sym) 1
octave:35> subs(f,2)
ans = (sym) 2

导数在这些点的值:

octave:36> subs(g,0),subs(g,1),subs(g,2)
ans = (sym) 3
ans = (sym) 0
ans = (sym) 3

导数的临界点:

octave:37> h = diff(g)
h = (sym) 6⋅x - 6
octave:38> solve(h)
ans = (sym) 1

三阶导:

octave:39> y=diff(h)
y = (sym) 6

g(x)的图像:

让我们再看一个例子:
绘制
的图像并显示最大值和最小值。
首先我们定义函数并且绘制它的图像:

syms x;
f = x.^4-2*x.^3;
ezplot(f,[-2 3])
hold on


现在计算一阶导数:

h = (sym)3      24⋅x  - 6⋅x

我们把导数设置为0然后求临界值:

s = (sym 2×1 matrix)⎡ 0 ⎤⎢   ⎥⎣3/2⎦

下一步我们计算二阶导数:

g = (sym) 12⋅x⋅(x - 1)

现在我们来将一阶导数等于0的点带入二阶导数来判断是极大值还是极小值:

a = (sym) 0
b = (sym) 9

我们可以看到,x = 3/2时二阶导数大于0,所以f(3/2)是极小值。
现在我们修改图像来让它显示最小值点:


我们还可以使用text命令来做一些个性化的操作:

text(0.8,3.2,'局部最小值')

MATLAB与高等数学--导数计算与极值的求解相关推荐

  1. MATLAB与高等数学--极限计算

    limit函数用法 在MATLAB中使用limit计算函数在某点的极限: limit(f,a) 例1: >> syms x; >> limit((x^3+1)/(x^4+2)) ...

  2. 美赛整理之Matlab的工程数学计算学习笔记(高等数学)

    美赛整理之Matlab的工程数学计算学习笔记(高等数学) 1.极限的定义和判别: 2.绘制特殊曲面 3.求两个空间曲面的交线 4.定积分的计算 5.多重积分的计算 1.截面法: 2.定义法 (1)先画 ...

  3. matlab统计水文参数,科学网—[转载]利用MATLAB计算水文极值 - 刘朋的博文

    利用MATLAB计算水文极值(年最大值,年连续5日最大,连续干/湿日,连续极端径流低值日数) [filename,filepath]=uigetfile('*.*','请选择文件'); %计算水文极端 ...

  4. R语言的导数计算(转)

    转自:http://blog.fens.me/r-math-derivative/ 前言 高等数学是每个大学生都要学习的一门数学基础课,同时也可能是考完试后最容易忘记的一门知识. 我在学习高数的时候绞 ...

  5. matlab选修结课作业,matlab在高等数学中的应用结课作业

    matlab在高等数学中的应用结课作业 MatLab软件在作图中的应用 1.描点作图(MatLab及在电子信息课程中的应用131页) a=0:0.01:3; >> y=a: plot(y) ...

  6. MATLAB使用符号工具箱计算函数的5阶麦克劳林多项式的四种方法(附指定阶数、指定点的泰勒展开)

    此篇博客是对MATLAB符号工具箱taylor的用法进行总结和拓展. 先通过两个具体的例子进行讲述: 1.MATLAB中使用符号工具箱计算exp(x)的5阶麦克劳林多项式 %计算exp(x)的5阶麦克 ...

  7. 梯度下降法计算二次函数极值、拟合一次曲线、拟合二次曲线

    梯度 在单变量函数中,梯度其实就是函数的微分形式,代表着在某点处,函数的切线的斜率: 在多变量函数中,梯度是一个向量,(向量具有方向,有该点指向上升最快的方向): 梯度的方向:函数中某切点上升最快的方 ...

  8. matlab如何就导数,Matlab微分和导数

    Matlab 的 Matlab微分和导数 MATLAB提供用于计算符号导数的diff命令. 以最简单的形式,将要微分的功能传递给diff命令作为参数. 例如,计算函数的导数的方程式 - 例子 创建脚本 ...

  9. MATLAB微分和导数

    MATLAB提供用于计算符号导数的diff命令. 以最简单的形式,将要微分的功能传递给diff命令作为参数.例如,计算函数的导数的方程式 - 例子创建脚本文件并在其中键入以下代码 -syms t f ...

最新文章

  1. 《第一行代码》学习笔记19-广播接收器Broadcast_Receiver(2)
  2. Android--常驻BroadReceiver实现短信提醒
  3. sql中的exsits和not exsits
  4. python中函数的参数传递(传值还是传引用)
  5. 论文浅尝|简单高效的知识图谱表示学习负样本采样方法
  6. DB,Cache和Redis应用场景分析
  7. 数字ToString作为货币显示并且带小数
  8. Android elevation的使用阴影
  9. 常用电子产品行业标准及认证
  10. java微信公众号图文消息编辑器,如何使用微信公众号自带的编辑器做出简洁舒适的图文排版...
  11. 计算机开机黑屏风扇转,电脑风扇转但是开不了机怎么办_电脑风扇转但是黑屏...
  12. 计算机程序班搞笑口号,16字高一班级搞笑口号.docx
  13. Error while extracting response for type [] and content type [],json返回值被解析为xml
  14. uni app 零基础小白到项目实战-1
  15. ISCSI linux/windows配置及使用
  16. WinSetupFromUSB制作多系统U盘引导启动
  17. python源程序扩展名有那两种_Python源程序的扩展名是:
  18. 免费报名 | 腾讯云自研数据库CynosDB交流会
  19. 我的苹果电脑中毒了?mac也会中病毒?喜闻乐见(附杀毒软件测试)
  20. 基于Xilinx的Kintex-7系列XC7K325T的硬件加速卡

热门文章

  1. 把握趋势,把握未来 —- 小评《只有偏执狂才能生存》
  2. android刷成windows7,牛人将Win7刷进了安卓手机 高手在民间!
  3. install ubuntu source code
  4. [从零开始学习FPGA编程-56]:视野篇-常见概念:chip(芯片)、chipset(芯片组)、chiplet(芯粒)、die(裸片)的区别
  5. Windows 右键菜单扩展
  6. 新概念英语(1-99)Ow!
  7. 全国高校云计算机应用创新,关于举办“第三届全国高校云计算应用创新大赛”的通知...
  8. 青龙面板京东库(4.6号更新)
  9. Linux电脑自动重启,修复win10下distributedcom(10016)导致电脑自动重启的方法
  10. 画图技巧 : Matlab调用Origin作图