DW数学建模学习笔记——task1

第1章 解析方法与几何模型

1.1 向量表示法与几何建模基本案例

1.1.1 几何建模的思想

数学世界的探索始于计数和丈量。计数带来了数字和代数学,而丈量则推动了几何学的发展。高中毕业后,我们对数学模型的理解还较浅,但几何模型对我们而言是最直观的。通过几何定理,我们可以直观地感受几何关系,并利用这些关系推算长度等。

几何模型可以分为位置关系和数量关系。位置关系包括平行、垂直等,数量关系涉及边长、角度、面积等求解。分析几何问题的方法主要有三种:

  1. 传统几何的演绎-证明体系:基于已证明的公理和定理,通过逻辑推理得出结果。
  2. 基于向量的计算化几何:将几何问题转化为向量的计算问题,方便求解。
  3. 基于极坐标与方程的解析几何:利用极坐标和参数方程,将几何问题转化为代数问题求解。

常见的几何定理包括三角形内角和定理、勾股定理、正弦定理、余弦定理、圆幂定理等。这些定理在解决几何问题时非常有用。

1.1.2 向量表示与坐标变换

向量是几何中表示方向和距离的工具,可以在高维空间中进行加减运算、数量乘运算等。在Python中,可以使用NumPy库创建和操作向量。例如:

import numpy as np
x = np.array([1, 2, 3, 5, 8])

向量的引入不仅仅是为了表示几何图形中的方向和距离,更重要的是利用代数方法解决几何问题。在物理问题、计算机图形学等领域,向量运算简化了计算过程。

二维空间的旋转变换

import numpy as nptheta = np.radians(30)
rotation_matrix = np.array([[np.cos(theta), -np.sin(theta)],[np.sin(theta), np.cos(theta)]
])
point = np.array([a, b])
rotated_point = rotation_matrix.dot(point)
print("旋转后的坐标为:", rotated_point)

三维空间的旋转变换

import numpy as npalpha = np.radians(30)
beta = np.radians(45)
gamma = np.radians(60)R_z = np.array([[np.cos(alpha), -np.sin(alpha), 0],[np.sin(alpha), np.cos(alpha), 0],[0, 0, 1]])R_y = np.array([[np.cos(beta), 0, np.sin(beta)],[0, 1, 0],[-np.sin(beta), 0, np.cos(beta)]])R_x = np.array([[1, 0, 0],[0, np.cos(gamma), -np.sin(gamma)],[0, np.sin(gamma), np.cos(gamma)]])R = R_z @ R_y @ R_xP = np.array([1, 2, 3])
P_rotated = R @ Pprint("旋转后P点的坐标为:", P_rotated)

1.2 Numpy 与线性代数

1.2.1 Numpy向量与矩阵的操作

在科学计算中,Numpy的数组对象是处理问题的得力助手。它能进行向量化运算,提升代码简洁性和运行速度。

创建向量和矩阵

import numpy as np
vector = np.array([1, 2, 3])
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

向量和矩阵的基本属性

print(vector.shape)  # (3,)
print(matrix.shape)  # (3, 3)

索引和切片

print(vector[0])  # 输出第一个元素, 1
print(matrix[1, 1])  # 输出第二行第二列的元素, 5

向量和矩阵的运算

vector1 = np.array([1, 2, 3])
vector2 = np.array([4, 5, 6])
print(np.add(vector1, vector2))  # [5, 7, 9]matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
print(np.dot(matrix1, matrix2))  # [[19, 22], [43, 50]]
1.2.2 利用Numpy进行线性代数基本运算

Numpy的广播机制和线性代数函数使得数值计算更加便捷。

数量乘法

scalar = 5
scaled_vector = scalar * vector
print("Scaled vector:", scaled_vector)

矩阵的转置

transposed_matrix = matrix.T
print("Transposed matrix:\n", transposed_matrix)

行列式

matrix_determinant = np.linalg.det(matrix)
print("Matrix determinant:", matrix_determinant)

求解线性方程组

A = np.array([[3, 1], [1, 2]])
b = np.array([9, 8])
solution = np.linalg.solve(A, b)
print("Solution of the linear system:", solution)
1.2.3 numpy.linalg 的使用

Numpy的 linalg 子模块提供了丰富的线性代数函数。

计算逆矩阵

pseudo_inverse_matrix = np.linalg.pinv(matrix)
print("Pseudo-inverse of the matrix:\n", pseudo_inverse_matrix)

特征值和特征向量

eigenvalues, eigenvectors = np.linalg.eig(matrix)
print(eigenvalues)
print(eigenvectors)

奇异值分解

U, S, V = np.linalg.svd(matrix)
print(U)
print(S)
print(V)

范数计算

norm = np.linalg.norm(vector)
print(norm)

1.3 平面几何模型的构建

1.3.1 问题背景介绍

以2023年高教社杯全国大学生数学建模竞赛B题为例,单波束和多波束测深系统用于测量海底深度。多波束系统在垂直于航迹的平面内发射多个波束,覆盖更大面积。我们需要建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。

1.3.2 问题一的分析

问题一是几何模型问题,通过三角函数和几何关系推导出覆盖宽度和重叠率。

1.3.3 问题一的模型建立

构造几何模型,如图所示,利用三角形中的正弦定理和几何关系,推导出覆盖宽度和重叠部分的计算方法。

几何模型推导

import numpy as np
from scipy.optimize import fsolvetheta = 2 * np.pi / 3
alpha = 1.5 / 180 * np.pi
htheta = theta / 2
h = 70
d = 200
k = np.tan(np.pi / 2 - htheta)
k0 = np.tan(alpha)Aleft = []
Aright = []
Acenter = []
W = []for n in range(-4, 5):leftsolve = lambda t: k * (t - n * d) - k0 * t + hrightsolve = lambda t: -k * (t - n * d) - k0 * t + htleft = fsolve(leftsolve, 0)tright = fsolve(rightsolve, 0)Aleft.append([tleft[0], k0 * tleft[0] - h])Aright.append([tright[0], k0 * tright[0] - h])Acenter.append([200 * n, k0 * 200 * n - h])
Aleft = np.array(Aleft)
Aright = np.array(Aright)
Acenter = np.array(Acenter)
D = Acenter[:, 1]
W = np.sqrt((Aleft[:, 0] - Aright[:, 0]) ** 2 + (Aleft[:, 1] - Aright[:, 1]) ** 2)cover = np.zeros(8)
for i in range(8):cover[i] = np.sqrt((Aright[i, 0] - Aleft[i + 1, 0]) ** 2 + (```pythonAright[i, 1] - Aleft[i + 1, 1]) ** 2)
eta = cover / W[1:]print("海水深度 D:", D)
print("覆盖宽度 W:", W)
print("重合部分比例 eta:", eta)
1.3.4 问题一的模型求解与讨论

通过建模与编程求解,可以得到如下计算结果:

d / m d/\text{m} d/m − 800 -800 800 − 600 -600 600 − 400 -400 400 − 200 -200 200 0 0 0 200 200 200 400 400 400 600 600 600 800 800 800
D / m D/\mathrm{m} D/m 90.94 90.94 90.94 85.711 85.711 85.711 80.474 80.474 80.474 75.237 75.237 75.237 70 70 70 64.76 64.76 64.76 59.526 59.526 59.526 54.289 54.289 54.289 49.051 49.051 49.051
W / m W/\mathrm{m} W/m 315.81 315.81 315.81 297.62 297.62 297.62 279.441 279.441 279.441 261.25 261.25 261.25 243 243 243 224.8 224.8 224.8 206.698 206.698 206.698 188.513 188.513 188.513 170.328 170.328 170.328
η / % \eta/\% η/% 0.3569 0.3569 0.3569 0.3151 0.3151 0.3151 0.267 0.267 0.267 0.21 0.21 0.21 0.148 0.148 0.148 0.0740 0.0740 0.0740 0.0153 0.0153 0.0153 − 0.12365 -0.12365 0.12365

从表中可以看出,测线之间的重叠率在不同距离下有所变化。通过Python编程可以更高效地进行这种几何计算。

1.4 立体几何模型的构建

1.4.1 问题背景介绍

继续以2023年高教社杯全国大学生数学建模竞赛B题为例,考虑一个矩形待测海域,测线方向与海底坡面的法向在水平面上投影的夹角为 β \beta β。我们需要建立多波束测深覆盖宽度的数学模型。

1.4.2 问题二的分析

问题二是问题一的延续,将场景从二维向三维扩展,通过构造四棱锥几何模型,利用三面角定理求解。

1.4.3 问题二的模型建立

构造三维几何模型,通过几何关系和三面角公式,推导覆盖宽度的计算方法。

import numpy as np
from scipy.optimize import fsolvetheta = 2 * np.pi / 3
alpha = -1.5 / 180 * np.pi
htheta = theta / 2
h = 120
unit = 1852
k0 = np.tan(alpha)W = np.zeros((8, 8))for i in range(1, 9):for j in range(1, 9):beta = (i - 1) * np.pi / 4d = (j - 1) * 0.3 * unitv = np.array([np.cos(beta), np.sin(beta), 0])origin = v * dv1 = np.array([-np.sin(beta) * np.sin(htheta), np.cos(beta) * np.sin(htheta), -np.cos(htheta)])v2 = np.array([np.sin(beta) * np.sin(htheta), -np.cos(beta) * np.sin(htheta), -np.cos(htheta)])leftsolve = lambda t: (v1[0] * t + origin[0]) * k0 - h - (v1[2] * t + origin[2])rightsolve = lambda t: (v2[0] * t + origin[0]) * k0 - h - (v2[2] * t + origin[2])tleft = fsolve(leftsolve, 0)tright = fsolve(rightsolve, 0)pleft = v1 * tleft + originpright = v2 * tright + originW[i-1, j-1] = np.linalg.norm(pleft - pright)print("覆盖宽度矩阵 W:\n", W)
1.4.4 问题二的模型求解与讨论

通过建模与编程求解,可以得到如下计算结果:

测量船距海域中心点处的距离 (m)覆盖宽度 (m)测线方向夹角 (度)
0415.690
0.3 * 1852466.0945
0.6 * 1852516.4990
0.9 * 1852566.89135
1.2 * 1852617.29180
1.5 * 1852667.69225
1.8 * 1852718.09270
2.1 * 1852768.49315

从表中可以看出,测量船距海域中心点的距离与覆盖宽度之间存在一定关系,随着距离的增加,覆盖宽度逐渐增加。

1.5 使用Python解方程与方程组

1.5.1 利用Numpy求线性方程(组)的数值解

Numpy库提供了强大的线性代数运算功能,可以方便地求解线性方程组。

import numpy as npa = np.array([[10, -1, -2], [-1, 10, -2], [-1, -1, 5]])
b = np.array([[72], [83], [42]])
c = np.linalg.solve(a, b)
print(c)# 或使用矩阵的逆来求解
x = np.linalg.inv(a).dot(b)
print(x)
1.5.2 利用Sympy求方程(组)的解析解

Sympy库提供了符号计算功能,可以求解方程和方程组的解析解。

from sympy import symbols, solve, nonlinsolvex, y = symbols('x y')
print(solve(x * 2 - 2, x))  # 解方程2x - 2 = 0
print(solve([x + y - 35, x * 2 + y * 4 - 94], x, y))  # 解方程组x + y = 35, 2x + 4y = 94
print(solve(x**2 + x - 20, x))  # 解方程x^2 + x - 20 = 0a, b, c, d = symbols('a b c d', real=True)
print(nonlinsolve([a**2 + a + b, a - b], [a, b]))  # 解非线性方程组a^2 + a + b = 0, a - b = 0
1.5.3 利用Scipy求方程(组)的数值解

对于复杂的非线性方程组,可以使用Scipy库中的fsolve函数求解。

from scipy.optimize import fsolve
from math import sin, cos, pidef equations(vars):x, y, theta = varsL1, L2, L3 = 3, 3, 3p1, p2, p3 = 5, 5, 3x1, x2, y2 = 5, 0, 6eq1 = (x + L3*cos(theta) - x1)**2 + (y + L3*sin(theta))**2 - p2**2eq2 = x**2 + y**2 - p1**2eq3 = (x + L2*cos(pi/3 + theta))**2 + (y + L2*sin(pi/3 + theta) - y2)**2 - p3**2return [eq1, eq2, eq3]initial_guess = [-1.37, 4.80, 0.12]
result = fsolve(equations, initial_guess)
print(result)

第2章 微分方程与动力系统

2.1 微分方程的理论基础

微分方程在数学和工程中有着广泛的应用。微分方程描述了一个函数及其导数之间的关系,通过这种关系我们可以研究和求解许多实际问题。

2.1.1 函数、导数与微分

微分方程的核心在于微分和导数的概念。导数描述了函数在某一点的变化率,微分则描述了当自变量施加微小增量时函数值的变化。当增量非常小时,函数的变化量接近于该点处切线的变化量。

公式 (2.1.1) 展示了微分的基本形式:
[ \frac{d y}{d x} = f’(x) ]

2.1.2 一阶线性微分方程的解

一阶线性微分方程的一般形式为:
[ \frac{d y}{d x} + y P(x) = Q(x) ]

通过分离变量法和常数变易法可以求得其解。对于齐次方程:
[ \frac{d y}{d x} + y P(x) = 0 ]

其解的通式为:
[ y = C \exp \left( -\int P(x) , dx \right) ]

对于非齐次方程的通解则为:
[ y = \exp \left( -\int P(x) , dx \right) \left[ \int Q(x) \exp \left( \int P(x) , dx \right) , dx + C \right] ]

2.1.3 二阶常系数线性微分方程的解

二阶常系数线性微分方程的一般形式为:
[ f’‘(x) + p f’(x) + q f(x) = C(x) ]

通过特征根法求解齐次方程:
[ r^2 + pr + q = 0 ]

特征根的类型决定了解的形式。对于非齐次方程,可以通过特解与齐次方程通解的组合得到总解。

2.1.4 利用Python求函数的微分与积分

使用Python的Numpy和SciPy库可以方便地计算函数的微分和积分。例如,SciPy库中的quad函数可以求定积分:

import numpy as np
from scipy.integrate import quaddef f(x):return np.cos(2 * np.pi * x) * np.exp(-x) + 1.2integral, error = quad(f, 0, 0.7)
print(f'定积分的结果是:{integral}')

通过梯形法则近似计算函数的定积分:

h = x[1] - x[0]
xn = 0.7
s = 0
for i in range(1000):xn1 = xn + hyn = np.cos(2 * np.pi * xn) * np.exp(-xn) + 1.2yn1 = np.cos(2 * np.pi * xn1) * np.exp(-xn1) + 1.2s0 = (yn + yn1) * h / 2s += s0xn = xn1
s
2.2 使用SciPy和Sympy解微分方程

多数微分方程没有解析解,因此使用数值方法求解是常见的做法。

2.2.1 使用sympy求解微分方程解析解

使用sympy库中的dsolve函数可以求解微分方程的解析解。例如:

from sympy import symbols, Function, Eq, dsolvey = symbols('y', cls=Function)
x = symbols('x')
eq = Eq(y(x).diff(x, 2) + 2*y(x).diff(x, 1) + y(x), x**2)
dsolve(eq, y(x))
2.2.2 使用scipy求解微分方程数值解

使用scipy库中的odeintsolve_ivp函数可以求解微分方程的数值解。例如:

import numpy as np
from scipy.integrate import odeintdy = lambda y, x: 1/(1 + x**2) - 2*y**2
x = np.arange(0, 10.5, 0.1)
sol = odeint(dy, 0, x)
print("x={}\n对应的数值解y={}".format(x, sol.T))
2.3 偏微分方程的数值求解

偏微分方程用于描述多元函数及其偏导数之间的关系。通过离散化方法,如有限差分法,可以求解偏微分方程。

2.3.1 偏微分方程数值解的理论基础

偏微分方程可以通过离散化转换为代数方程组,然后通过数值方法求解。常用的方法包括有限差分方法、有限元方法等。

2.3.2 偏微分方程数值解的应用案例

应用有限差分法求解热传导方程和波动方程等实际问题。例如:

import numpy as np
import matplotlib.pyplot as plth = 0.1  # 空间步长
N = 30  # 空间步数
dt = 0.0001  # 时间步长
M = 10000  # 时间的步数
A = dt / (h ** 2)  # λτ/h^2
U = np.zeros([N+1, M+1])  # 建立二维空数组
Space = np.arange(0, (N+1)*h, h)  # 建立空间等差数列,从0到3,公差是h# 初始条件
for i in np.arange(0, N):U[i, 0] = 4 * i * h * (3 - i * h)# 递推关系
for k in np.arange(0, M):for i in np.arange(1, N):U[i, k+1] = A * U[i+1, k] + (1 - 2*A) * U[i, k] + A * U[i-1, k]plt.plot(Space, U[:, 0], 'g-', label='t=0')
plt.plot(Space, U[:, 3000], 'b-', label='t=3/10')
plt.plot(Space, U[:, 6000], 'k-', label='t=6/10')
plt.plot(Space, U[:, 9000], 'r-', label='t=9/10')
plt.plot(Space, U[:, 10000], 'y-', label='t=1')
plt.ylabel('u(x,t)')
plt.xlabel('x')
plt.legend(loc='upper right')
plt.show()

2.4 微分方程的应用案例

2.4.1 人口增长模型

人口增长可以用微分方程建模。Malthus模型和Logistic模型分别描述了简单的指数增长和受限增长。

Malthus模型:
[ \frac{d x}{d t} = r x, \quad x(t_0) = x_0 ]

Logistic模型:
[ \frac{d x}{d t} = r x \left(1 - \frac{x}{x_m}\right), \quad x(t_0) = x_0 ]

Python实现示例:

import pandas as pd
import numpy as np
from scipy import optimize
import matplotlib.pyplot as pltdata = pd.read_excel("总人口.xls")
y = data['年末总人口(万人)'].values.astype(float)
x_0 = y[0]def f2(x, r, K):return K / (1 + (K/x_0 - 1) * np.exp(-r * x))def f(x, r):return x_0 * np.exp(r * x)x = np.arange(0, 30, 1)
fita, _ = optimize.curve_fit(f, x, y)
plt.plot(np.arange(1990, 2020, 1), 10000 * y, '.')
plt.plot(np.arange(1990, 2020, 1), 10000 * f(x, fita[0]), 'r*-')
fita, _ = optimize.curve_fit(f2, x, y)
plt.plot(np.arange(1990, 2020, 1), 10000 * f2(x, fita[0], 11019), 'b^-')
plt.legend(["Origin", "Malthus", "Logistic"])
plt.xlabel("Year")
plt.ylabel("Population")
plt.title('Population Prediction')
plt.show()
2.4.2 经济增长模型

经济增长模型可以用来描述GDP随时间的变化。常用的Solow模型描述了资本积累对经济增长的影响。

Solow模型:
[ \frac{d k}{d t} = s f(k) - (\delta + n) k ]

其中,(k) 是人均资本,(f(k)) 是生产函数,(s) 是储蓄率,(\delta) 是折旧率,(n) 是人口增长率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gitlab升级16.11.3-ee

背景 这是事后一段时间补充记录的博客。 升级目的:修补漏洞CVE-2024-4835 未经认证的威胁攻击者能够利用该漏洞在跨站脚本 (XSS) 攻击中,轻松接管受害者账户。 gitlab版本为14.6.2-ee升级至16.11.3-ee 思路 翻阅文档找升级方法及升级版本路径。使用…

Express中的路由使用

在Express中,路由是一个核心概念,它定义了客户端的请求与服务器处理函数之间的映射关系。 路由的基本概念: 路由在广义上可以理解为一种映射关系。在Express中,路由特指客户端的HTTP请求(如GET、POST等)与…

clangd报错 “stddef.h not found“

vscode作为主力ide,C项目文件多了后,自带的C插件符号解析和跳转速度极为缓慢。通过使用clangd插件可以解决这个问题。 clangd下载地址: Releases clangd/clangd (github.com) 该地址没有aarch64架构的包,因此需要下载整体的llvm包&#xf…

AI智能盒子助力打造垃圾发电AI应用标杆!

垃圾焚烧发电作为一种新型的垃圾处理方式,能将其转化为电能,实现资源的再利用,成为实现节能环保的重要方式之一。为有效落实环境、安全、健康及社会责任管理体系,知名垃圾发电投资运营商光大环保能源致力于广泛利用科技&#xff0…

4.2、浏览器请求详解(ajax、fetch、axios使用,手写ajax)

浏览器请求详解 1.ajax手写ajax 2. fetch2.1 Response2.2 定制 HTTP 请求2.3 option API2.4 fetch cancel 3.axios3.1 基本使用3.2 响应数据3.3 创建实例(封装)3.4 拦截器3.5 完整的请求配置 总结 在浏览器端发送网络请求的常见方式: ajax&am…

「Python-docx 专栏」docx设置页眉、页眉字体、页眉对齐方式

本文目录 前言一、docx 设置页眉1、完整代码2、实际效果图3、常见问题二、docx 设置页眉及对齐方式1、完整代码2、实际效果图3、常见问题①、对齐方式讲解②、字体号与Pt的对应关系三、docx设置页眉,两段文本,两端对齐1、完整代码2、实际效果图3、需要注意的问题①、为什么使…

生成高保真度3D数字人化身:打造你的专属虚拟形象

在数字化时代,我们的虚拟形象正变得越来越重要。现在,一项前沿技术正将这一领域推向新的高度——生成高保真度的3D数字人化身。这项技术不仅可以将你的形象以3D形式呈现,更能赋予它生命,让你的虚拟形象拥有丰富的表情和动作。 一、技术简介 这项技术就像是一个高级的3D照…

信息系统项目管理师 | 信息系统安全技术

关注WX:CodingTechWork 信息安全概念 安全属性 秘密性:信息不被未授权者知晓。完整性:信息是正确的、真实的、未被篡改的、完整无缺。可用性:信息可以随时正常使用。 安全分层 设备安全 设备的稳定性:在一定时间…

openh264 Pskip 模式决策过程源码分析

skip模式 视频编码中的 “skip” 模式是一种优化技术,用于提高编码效率,减少不必要的编码工作。当编码器确定某个宏块(Macroblock, MB)在当前帧和参考帧之间没有显著的运动或变化时,可以采用skip模式。以下是skip模式的…

C#部分方法有什么用处?和传统方法有什么区别?什么时候用合适?

在C#中,部分类(partial class)和部分方法(partial method)是两个不同的概念,但它们经常一起使用,特别是在代码生成和框架设计中。下面我将分别解释这两个概念,并讨论它们的用处、与传…

汽车IVI中控开发入门及进阶(二十七):车载摄像头vehicle camera

前言: 在车载IVI、智能座舱系统中,有一个重要的应用场景就是视频。视频应用又可分为三种,一种是直接解码U盘、SD卡里面的视频文件进行播放,一种是手机投屏,就是把手机投屏软件已视频方式投屏到显示屏上显示,另外一种就是对视频采集设备(主要就是摄像头Camera)的视频源…

leetcode144. 二叉树的前序遍历

一、题目描述: 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 二、输入输出实例: 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: 输入:root [] 输出:[]…

ubuntu查看当前系统版本

要查看当前的Ubuntu系统版本,可以使用以下几种方法: 方法一:使用 lsb_release 命令 这是最常用的方法,适用于大多数Debian系发行版,包括Ubuntu。 lsb_release -a这将显示类似以下的输出: No LSB module…

移动app必须进行安全测试吗?包括哪些测试内容?

移动App已经成为我们日常生活中不可或缺的一部分,无论是社交娱乐还是工作学习,我们都离不开这些精心设计的应用程序。然而,随着移动App的广泛普及和使用,其安全性问题也逐渐浮出水面。为了确保用户数据的安全和减少潜在的风险&…

IOS全平台去开屏广告方案,真实有效

笔者最近被苹果平台上的APP开屏广告搞得心烦意乱,十分想念安卓的李跳跳,逐在B站搜索方法,看到评论说圈x可以去开屏广告。 但经一番搜索,发现圈x要求很高且貌似小火箭的规则生态更好。接下来是最经济的最有效的解决方案&#xff1a…

数智化浪潮下的零售品牌商品计划革新

在数字化和智能化交织的时代背景下,零售品牌的商品计划正在经历一场前所未有的革新。这场革新不仅改变了商品计划的方式和流程,更重塑了零售品牌的竞争格局和市场地位。 一、数智化:零售品牌的新引擎 在快速变化的市场环境中,零…

旧电视盒子的玩法与思路

旧的电视盒子,和电视主板,只要是安卓的,都不用丟。 留着有大用。 第一种玩法:也是我刚完盒子接触到的,就是刷游戏机,一般这种是把游戏系统刷到tf卡或者优盘上面,不妨碍你的盒子看电视&#xf…

序列到序列模型中的注意力机制

目录 一、说明 二、编码器解码器架构中的问题:需要注意 2.1 编码器方面的问题: 2.2 解码器方面的问题: 三、什么是注意力机制? 3.1 计算 ci 值: 3.2 ci 的广义表示: 四、Bahdanau 注意 : 4.1. 兼…

Centos/Ubuntu等Linux系统下增加扩展4个串口以上配置操作

linux(Ubuntu、centos等)标准发行版系统默认是最多识别到4个COM串口设备,超过4个设备的串口则无法识别使用,想要载入使用则需要手动修改下grub配置文件,手动指定即可!可以参考如下步骤,有出入的地方大家可以…

yt-dlp:强大的跨平台视频下载器

一、引言 在当今数字时代,视频已成为我们获取信息和娱乐的重要途径。然而,由于版权和网络限制,我们常常无法直接在本地保存我们喜爱的视频。幸运的是,有一个名为yt-dlp的命令行程序,它可以帮助我们从YouTube.com和其他…