本文已参与「新人创作礼」活动,一起开启掘金创作之路。
课上知识点:
计算机的幂函数底层计算逻辑: 所有的幂函数都可以使用幂级数展开为多项式进行加法运算
复合函数求导: 链式法则
虽然引入了中间变量,但是最终经过乘法计算,中间变量可以消去,使得最终结果仅保留自变量和因变量
x^2^ 的导数等于 2x 的来源: 紧扣定义
零点存在定理: f(a) * f(b) < 0 ,也就是在a,b 处的函数值异号,一定经过一个在x 轴上的点
f(x) 在 x0 处连续的条件
二分法: 不断地计算中间值,在左右两个区间里面选择一个,靠近,直到中间点值等于答案
牛顿迭代法: 先找到一个点,过这个点做函数的切线,求切线与 x 轴的交点,一直反复下去,直到相邻两次计算 x 轴交点的数值十分接近
课后作业:
第一题:
dx 和 δx 的问题:
老师的原话:
- 把x看成自己的函数(也就是y=x),那么根据微分基本公式,有dy=dx,而在y=x的特殊情况下,dy=△y,△y=△x。所以有△x=dx
- 只有当x是自变量的时候才有△x=dx,如果x不是自变量,它是其他变量的函数,则这个等式不一定成立(比如x是t的函数,x=t^2,那么dx = 2t dt,而 △x = 2t dt + (dt)^2,这时候两者是不相等的)
写程序的题:
先写出主程序需要的函数,也就是令那个方程为一个函数 f (x)
function [y] = f(x)
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
y = exp(2 * x - 1) + sin (x) - 2;
end
left = 0; % 左端点
right = pi / 2; % 右端点
mid = (left + right) / 2; % 中间点
result = f(mid); % 存放中间点的计算结果
while (result ~= 0) % 当中间点的值不为 0 的时候进行循环
if (f(left) * result < 0) % 左端点到中间点的区间内存在零点
right = mid;
else
left = mid; % 中间点到右端点的区间内存在零点
end
mid = (left + right) / 2; % 计算中间点的 x 值
result = f(mid); % 计算中间点的函数值
end
fprintf("The result is %.6f\n", mid); % 保留 6 位小数进行输出
- 二分法本质上就是在不断地选择左还是右区间
- 通过不断地计算中间点的数值,判断下一次应该选择左区间还是右区间
- MATLAB 中 不等于号用 ~= 表示,其他高级语言里面大多数用的是 !=
- 最后一行保留小数的方式参考 C语言的 printf 用法即可
- e 是用 exp 这个函数进行表示,exp(n) 表示 e^n^