主页 模型库 竞赛 资源 写作 AI建模

🎯 交互式代码演示

点击下方代码块,实时查看运行结果可视化

📐

线性规划求解

scipy.optimize.linprog

📈

回归分析拟合

sklearn.linear_model

🎯

K-Means聚类

sklearn.cluster

函数优化

scipy.optimize.minimize

📄 Python 代码
from scipy.optimize import linprog
import numpy as np

# 目标函数: max 3x + 4y → min -3x - 4y
c = [-3, -4]

# 约束条件
A = [[2, 1], [1, 2]]
b = [100, 100]

# 求解
result = linprog(c, A_ub=A, b_ub=b, bounds=[(0, None), (0, None)])

print(f"最优解: x={result.x[0]:.2f}, y={result.x[1]:.2f}")
print(f"最大收益: {-result.fun:.2f}")
📊 运行结果可视化

点击「运行」查看可视化结果

将展示可行域、最优解点和目标函数等高线

🔢

NumPy

科学计算基础库,提供多维数组对象和各种数学函数

📦 pip install numpy ⭐ 必学
📊

Pandas

数据处理和分析库,提供DataFrame数据结构

📦 pip install pandas ⭐ 必学
📈

Matplotlib

数据可视化库,绘制各种静态、动态图表

📦 pip install matplotlib ⭐ 必学
🎯

SciPy

科学计算工具集,优化、积分、插值、信号处理

📦 pip install scipy ⭐ 必学
🔬

Scikit-learn

机器学习库,提供各种算法和模型评估工具

📦 pip install scikit-learn ⭐ 进阶
🌐

NetworkX

图论和网络分析库,处理复杂网络结构

📦 pip install networkx ⭐ 进阶
📄 线性规划求解示例
Python
from scipy.optimize import linprog
import numpy as np

# 定义目标函数系数 (最小化问题)
c = [-3, -4]  # max 3x + 4y 转换为 min -3x - 4y

# 不等式约束: A_ub @ x <= b_ub
A = [[2, 1],    # 2x + y <= 100
     [1, 2]]    # x + 2y <= 100
b = [100, 100]

# 变量范围
x_bounds = (0, None)
y_bounds = (0, None)

# 求解
result = linprog(c, A_ub=A, b_ub=b, 
                 bounds=[x_bounds, y_bounds],
                 method='highs')

print(f"最优解: x={result.x[0]:.2f}, y={result.x[1]:.2f}")
print(f"最大收益: {-result.fun:.2f}")
print(f"求解状态: {'成功' if result.success else '失败'}")
📄 数据可视化示例
Python
import matplotlib.pyplot as plt
import numpy as np

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 生成数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建图形
fig, axes = plt.subplots(1, 2, figsize=(12, 4))

# 子图1: 线图
axes[0].plot(x, y1, label='sin(x)', color='#b85c2a')
axes[0].plot(x, y2, label='cos(x)', color='#1a6e6a')
axes[0].set_title('三角函数')
axes[0].legend()
axes[0].grid(True, alpha=0.3)

# 子图2: 散点图
np.random.seed(42)
x_scatter = np.random.randn(100)
y_scatter = np.random.randn(100)
axes[1].scatter(x_scatter, y_scatter, alpha=0.6, c='#b85c2a')
axes[1].set_title('随机散点')
axes[1].set_xlabel('X轴')
axes[1].set_ylabel('Y轴')

plt.tight_layout()
plt.savefig('output.png', dpi=300, bbox_inches='tight')
plt.show()

📝 NumPy 速查表

np.array([1,2,3])

创建数组

np.zeros((3,3))

零矩阵

np.ones((3,3))

全1矩阵

np.eye(3)

单位矩阵

np.dot(A, B)

矩阵乘法

np.linalg.inv(A)

矩阵求逆

np.linalg.eig(A)

特征值分解

np.mean(arr)

平均值

🧮

Optimization Toolbox

优化工具箱,求解线性规划、非线性规划、整数规划

🔧 linprog, intlinprog ⭐ 必学
📊

Statistics Toolbox

统计工具箱,回归分析、假设检验、概率分布

🔧 fitlm, regress ⭐ 必学
🎲

Curve Fitting Toolbox

曲线拟合工具箱,数据拟合和插值

🔧 fit, interp1 ⭐ 进阶
📄 MATLAB 线性规划
MATLAB
% 目标函数系数 (最小化)
f = [-3; -4];  % max 3x + 4y

% 不等式约束 A*x <= b
A = [2, 1;
     1, 2];
b = [100; 100];

% 变量下界
lb = [0; 0];

% 求解
[x, fval] = linprog(f, A, b, [], [], lb);

fprintf('最优解: x=%.2f, y=%.2f\n', x(1), x(2));
fprintf('最大收益: %.2f\n', -fval);

📐 常用数学公式

$x^2 + y^2 = z^2$

上标

$x_{i,j}$

下标

$\frac{a}{b}$

分数

$\sum_{i=1}^{n}$

求和

$\int_{a}^{b}$

积分

$\alpha, \beta$

希腊字母

$\rightarrow$

箭头

$\infty$

无穷

📄 论文模板片段
LaTeX
\documentclass[12pt,a4paper]{article}
\usepackage[UTF8]{ctex}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{graphicx}
\usepackage{booktabs}

\title{数学建模论文标题}
\author{团队成员}
\date{\today}

\begin{document}

\maketitle

\begin{abstract}
本文针对XXX问题,建立了XXX模型...
\end{abstract}

\section{问题重述}

\section{模型假设}
\begin{enumerate}
    \item 假设一
    \item 假设二
\end{enumerate}

\section{符号说明}
\begin{table}[h]
\centering
\begin{tabular}{ccc}
\toprule
符号 & 含义 & 单位 \\
\midrule
$x$ & 决策变量 & 个 \\
$v$ & 速度 & m/s \\
\bottomrule
\end{tabular}
\end{table}

\end{document}
📄

数学建模论文 LaTeX 模板

包含完整格式设置、常用宏包、封面模板

查看
📊

Python 代码模板合集

常用模型代码模板:优化、预测、评价、可视化

查看
📝

MATLAB 工具箱指南

常用工具箱函数速查和示例代码

查看
📈

数据可视化模板

Matplotlib 常用图表模板:折线图、散点图、热力图

查看
📋

论文写作检查清单

提交前必查项目,避免常见错误

查看