用Matlab求拐点和凹凸区间需要使用MATLAB

1、启动MATLAB,输入如下代码,求解函数曲线的一阶导数、二阶导数、拐点和拐点处的切线方程。

 

close all; clear all; clc;format compact

 

% MATLAB之考研数学:函数的导数和求函数在拐点处的切线方程

 

syms x %声明符号变量x

 

assume(x > 0) % x的定义域大于0

 

y = x^2+2*log(x); %符号变量x表示的曲线函数y

 

d1 = diff(y,x,1) %求函数y的一阶导数

 

d2 = diff(y,x,2) %求函数y的二阶导数

 

x0 = solve(d2,0) %求二阶导数为0时的点(即拐点)

 

y0 = subs(y,x,x0) %拐点处的y值

 

k = subs(d1,x0) %拐点处的切线斜率

 

f = k*(x-x0)+y0 %拐点处的切线方程

 

%---------绘制函数曲线和切线方程的图像----------%

 

fplot(inline(y),,'r-');hold on

 

fplot(inline(f),,'k-');hold off

 

text(double(x0),double(y0),'\leftarrow拐点(1,1)')

 

xlabel('\fontsize{15}X');ylabel('\fontsize{15}Y')

 

legend('函数曲线y=x^2+2ln(x)','切线方程f=4x-3','Location','NorthWest')

 

set(gca,'FontSize',13,'TickDir','out','TickLength',)

 

axis fill

522368b4fc414937a3a27bc68ba7c32b.png

 

 

 

 

2、保存和运行上述脚本,在命令行窗口得到函数曲线的一阶导数为2x+2/x、二阶导数为2-2/x^2,拐点为(1,1),拐点处的切线方程为y=4x-3,与正确答案一致。

cd2d4c516ac84405976e566d19dba944.png

 

 

 

3、同时得到函数的曲线、切线方程和拐点的图像如下图,拐点为(1,1)。

7089f094ecc04ad08b1fad4824562922.png

 

 

4、第三步代码中,syms用于声明符号变量assume()用于设置符号变量的数学属性,比如本文assume(x>0)就是设置x为大于0的符号变量diff()用于求函数的导数,其常用的调用格式为diff(fx,x,n)。

 

其中fx为符号变量表示的函数,x为符号变量,n为求导的阶数,n=1表示求一阶导数,n=2表示求二阶导数。更多diff( )的用法请见MATLAB帮助文档。

d5bbc5ac82f14cafa1de2c2dfd9b6eb1.png

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中,可以使用符号计算工具箱来解函数的驻点和拐点。下面是解驻点和拐点的一般步骤: 1. 定义函数:首先,需要定义你要解的函数。可以使用符号变量来表示未知数,例如使用`syms x`定义一个符号变量x。 2. 导:使用`diff`函数对函数进行导,得到函数的导函数。例如,如果要解函数f(x)的驻点和拐点,可以使用`df = diff(f, x)`来得导函数。 3. 解方程:对导函数进行解,找到驻点和拐点的横坐标。可以使用`solve`函数来解方程。例如,如果要解导函数df(x)等于0的解,可以使用`solve(df == 0, x)`来得驻点的横坐标。 4. 判断类型:根据二阶导数的符号来判断驻点和拐点的类型。可以使用`diff(df, x)`来得二阶导数。如果二阶导数大于0,则为驻点;如果二阶导数等于0,则需要进一步判断;如果二阶导数小于0,则为拐点。 下面是一个示例代码,演示如何使用MATLAB解函数的驻点和拐点: ```matlab syms x; f = x^3 - 3*x^2 + 2*x; % 定义函数 df = diff(f, x); % 导 d2f = diff(df, x); % 二阶导数 % 解驻点 stationary_points = solve(df == 0, x); % 拐点 inflection_points = solve(d2f == 0, x); disp("驻点的横坐标:"); disp(stationary_points); disp("拐点的横坐标:"); disp(inflection_points); ``` 希望以上解答对你有帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值