数学与计算机(1)- 高等数学

(原文:https://blog.iyatt.com/?p=12906)

1 工具

1.1 Python

基础工具

  • Python 3.11.2

数学模块

  • SymPy 1.12
  • SciPy 1.11.4
  • NumPy 1.26.3

Scientific Python(SciPy)是一个基于 NumPy 的数值计算库,而 Symbolic Python(SymPy) 是一个符号计算库。

交互工具

  • Jupyter Notebook 7.0.6

JN 具有笔记本功能,可以使用 Markdown 语法,支持 LaTex 公式,同时可以运行 Python 代码,记录运行结果,支持对式子以及分数的显示,而不是线性显示。
可以运行 Jupyter Notebook,然后网页访问,或者使用 VScode 也可以打开 .ipynb 文件。

数据可视化

  • Matplotlib 3.8.2

1.2 MATLAB

MATLAB 2023b

2 极限

2.1 例 1

$$\lim_{x\to\infty}\frac{\sin x}{x}$$

SymPy

import sympy as sy

x = sy.Symbol('x') # 定义符号,用 Python 变量 x 表示符号 x
f = sy.sin(x) / x # 表达式
sy.limit(f, x, sy.oo) # 计算极限

file

MATLAB

syms x;

f = sin(x) / x;
limit(f, x, inf)

file

2.2 例 2

$$\lim_{x\to1}\frac{x^2-1}{x-1}$$

SymPy

import sympy as sy

x = sy.Symbol('x')
f = (x**2 - 1) / (x - 1)
sy.limit(f, x, 1)

file

MATLAB

syms x;

f = (x^2 - 1) / (x - 1);
limit(f, x, 1)

file

2.2 例 3

$$\lim_{x\to0}\frac{\sin x}{3x+x^3}$$

SymPy

import sympy as sy

x = sy.Symbol('x')
f = sy.sin(x) / (3 * x + x**3)
sy.limit(f, x, 0)

file

MATLAB

syms x;

f = sin(x) / (3 * x + x^3);
limit(f, x, 0)

2.4 例 4 无穷项

$$\lim_{n\to\infty}\frac{1}{n^2}+\frac{2}{n^2}+\cdots+\frac{n}{n^2}$$

SymPy

import sympy as sy

n, t = sy.symbols('n t')
f = sy.summation(t / n**2, (t, 1, n))
print("表达式为:")
display(f)
print("计算极限结果为:")
sy.limit(f, n, sy.oo)

file

MATLAB

syms n t;

f = symsum(t / n^2, t, 1, n)
limit(f, n, inf)

file

2.5 例 5

$$\lim_{x\to1}\sin(\ln x))$$

SymPy

import sympy as sy

x = sy.symbols('x')
f = sy.sin(sy.ln(x))
sy.limit(f, x, 1)

MATLAB

syms x;

f = sin(log(x))
limit(f, x, 1)

2.6 例6

$$\lim_{x\to8}\frac{\sqrt[3]{x}-2}{x-8}$$

SymPy

import sympy as sy

x = sy.symbols('x')
f = (sy.root(x, 3) - 2) / (x - 8)
sy.limit(f, x, 8)

file

MATLAB

syms x;

f = (x^(1/3) - 2) / (x - 8);
limit(f, x, 8)

file

3 导数

人工求导方法参考:https://blog.iyatt.com/?p=7986

3.1 例 1

$$y=\arcsin\sqrt{\sin x}$$ 求导

SymPy

import sympy as sy
from sympy.abc import x # 这个模块定义了常用符号变量,涵盖大小写字母

f = sy.asin(sy.sqrt(sy.sin(x)))
sy.diff(f) # 求导

file

MATLAB

syms x;

f = asin(sqrt(sin(x)));
diff(f)

file

3.2 例 2 计算导数值(含定义求导)

$$f(x)=x^5$$,计算f’(2)

SymPy

import sympy as sy

x = sy.symbols('x')
f = x**5
sy.diff(f).evalf(subs={
   x:2})

file

MATLAB

syms x;

f = x^5;
df = diff(f);
subs(df, x, 2)

file

基于定义

def f(x):
    return x**5

def derivative(x, h):
    return (f(x + h) - f(x)) / h

print(derivative(2, 1e-1))
print(derivative(2, 1e-2))
print(derivative(2, 1e-3))
print(derivative(2, 1e-4))
print(derivative(2, 1e-5))
print(derivative(2, 1e-6))

取的两个点越逼近,近似值越接近
file

3.3 例 3

$$y=x^4-2x^3+5\sin x+\ln3$$ 求导

SymPy

import sympy as sy

x = sy.symbols('x')
f = x**4 - 2 * x**3 + 5 * sy.sin(x) + sy.ln(3)
sy.diff(f)

file

MATLAB

syms x;

f = x^4 - 2 * x^3 + 5 * sin(x) +log(3);
diff(f)

file

4 偏导数

4.1 例 1

$$f(x,y)=x^2+

  • 23
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

astuv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值