高数:罗尔、拉格朗日、柯西中值定理(含matlab代码)
高数:罗尔、拉格朗日、柯西中值定理(含matlab代码)
以防你不会使用matlab!!先教一下!
- 打开新脚本:
- 在顶部菜单栏中,点击
Home
标签 - 然后在
File
区域中点击
New
,选择
Script
。这会打开一个新的脚本文件窗口,通常显示为一个称为
Untitled
的新窗口
- 输入代码:
就是输入我给出来的代码 - 保存脚本:
点击窗口左上角的保存图标,或选择
FileSave
为文件命名(例如
RolleTheorem.m不能有空格噢
),并选择保存位置 - 运行脚本:
在脚本窗口中,点击
Run
按钮,或直接按
F5
键。系统将执行脚本中的所有代码
运行后,MATLAB 将在命令窗口中显示执行结果,同时还会弹出一个新的图形窗口,展示绘制的函数图像
1. 罗尔定理(Rolle's Theorem)
定理内容:
如果函数 f(x) 在闭区间 [a,b] 上连续,在开区间 (a,b) 内可导,并且 f(a)=f(b),则在 (a,b) 内至少存在一个点 c,使得 f′(c)=0
简单来说,罗尔定理的意思是,如果函数在两个端点处的值相等,并且满足连续性和可导性条件,那么在区间内必然存在至少一个点的导数为0,这意味着曲线在该点上有一个水平的切线
数学表达式:
- 条件: f(a)=f(b),且 f(x) 在 [a,b] 上连续,(a,b) 上可导。
- 结论:存在 c∈(a,b),使得 f′(c)=0
matlab示例:
选择 f(x)=(x−a)(x−b),并且设 a=−2, b=2
% 定义区间和函数
a = -2;
b = 2;
f = @(x) (x - a) .* (x - b); % 定义函数 f(x)
% 定义导数
f_prime = @(x) 2*x; % 定义导数 f'(x)
% 创建x轴数据
x = linspace(a, b, 100); % 在区间 [a, b] 生成 100 个点
y = f(x); % 计算对应的 y 值
% 找出导数为0的点
c = 0; % 在这个例子中 f'(x) = 0 时,c = 0
% 绘制函数曲线
figure; % 创建一个新的图形窗口
plot(x, y, 'b-', 'LineWidth', 2); % 绘制函数 f(x)
hold on; % 保持当前图形
plot(c, f(c), 'ro', 'MarkerSize', 10, 'LineWidth', 3); % 在 c 处标记红点
title('Rolle''s Theorem: f(x) = (x + 2)(x - 2)'); % 设置标题
xlabel('x'); % 设置 x 轴标签
ylabel('f(x)'); % 设置 y 轴标签
grid on; % 显示网格
legend('f(x)', 'f''(c)=0'); % 添加图例
出现下面这个图像
解释一下:在这个例子中,f(a)=f(b)=0,因此满足罗尔定理的条件。我们可以看到在 x=0 处,导数为0,曲线在该点处具有水平的切线
2. 拉格朗日中值定理(Lagrange's Mean Value Theorem)
定理内容:
拉格朗日中值定理是罗尔定理的推广。它指出,如果函数 f(x) 在闭区间 [a,b] 上连续,在开区间 (a,b) 内可导,那么在 (a,b) 内至少存在一个点 c,使得
这意味着在区间 [a,b] 上,函数的瞬时变化率(即导数)在某个点等于平均变化率
数学表达式:
- 条件: f(x) 在 [a,b] 上连续,(a,b) 上可导。
- 结论:存在 c∈(a,b),使得 f′(c)=f(b)−f(a)/b−a
matlab代码示例:用 f(x)=x² 来演示拉格朗日中值定理
% 定义区间和函数
a = 1;
b = 3;
f = @(x) x.^2;
% 定义导数
f_prime = @(x) 2*x;
% 平均变化率
avg_slope = (f(b) - f(a)) / (b - a);
% 创建x轴数据
x = linspace(a, b, 100);
y = f(x);
% 找出使f'(c)等于平均变化率的点c
c = avg_slope / 2;
% 绘制函数曲线
figure;
plot(x, y, 'b-', 'LineWidth', 2);
hold on;
plot([a b], [f(a) f(b)], 'r--', 'LineWidth', 2); % 连接 f(a) 和 f(b) 的直线
plot(c, f(c), 'ro', 'MarkerSize', 10, 'LineWidth', 3);
title('Lagrange Mean Value Theorem: f(x) = x^2');
xlabel('x');
ylabel('f(x)');
grid on;
legend('f(x)', 'Secant Line', 'f''(c)=Average Slope');
输出如下:
解释一下:在这个例子中,拉格朗日中值定理告诉我们函数的瞬时变化率在某个点 c 处等于区间 [a,b] 上的平均变化率。通过绘制割线(连接 f(a) 和 f(b) 的直线)和曲线,我们可以直观地看到这一点
3. 柯西中值定理(Cauchy’s Mean Value Theorem)
定理内容:
柯西中值定理是拉格朗日中值定理的进一步推广。它指出,如果函数 f(x) 和 g(x) 都在闭区间 [a,b] 上连续,并在开区间 (a,b) 内可导,而且 g′(x)≠0 对所有 x∈(a,b) 成立,那么在 (a,b) 内至少存在一个点 c,使得
柯西中值定理常用于分析两个函数之间的变化率关系
数学表达式:
- 条件: f(x) 和 g(x) 在 [a,b] 上连续,在 (a,b) 内可导,并且 g′(x)≠0。
- 结论:存在 c∈(a,b),使得f′(c)/g′(c)=f(b)−f(a)/g(b)−g(a)
matlab代码示例:使用 f(x)=x² 和 g(x)=x+1 来演示
% 定义区间和函数
a = 1;
b = 4;
f = @(x) x.^2;
g = @(x) x + 1;
% 定义导数
f_prime = @(x) 2*x;
g_prime = @(x) 1;
% 计算柯西中值定理的平均变化率
avg_ratio = (f(b) - f(a)) / (g(b) - g(a));
% 找出使 f'(c)/g'(c) 等于平均变化率的点c
c = avg_ratio / 2;
% 创建x轴数据
x = linspace(a, b, 100);
y_f = f(x);
y_g = g(x);
% 绘制f(x)和g(x)的曲线
figure;
plot(x, y_f, 'b-', 'LineWidth', 2);
hold on;
plot(x, y_g, 'g-', 'LineWidth', 2);
plot(c, f(c), 'ro', 'MarkerSize', 10, 'LineWidth', 3);
title('Cauchy Mean Value Theorem: f(x) = x^2, g(x) = x+1');
xlabel('x');
ylabel('Functions');
grid on;
legend('f(x)', 'g(x)', 'f''(c)/g''(c)=Avg Ratio');
输出如下:
解释一下:在柯西中值定理中,两个函数 f(x) 和 g(x) 的导数比值在某个点 c 处等