如何实现矩阵的重采样问题

文章目录


前言

记录知乎的自问自答。

一、问题描述

我的问题是这样的,有两个列向量E和F,需要注意的是,E和F是连续的,可任意插值,得到包含其中的子向量。E和F通过一个m×n的矩阵联系起来,如下: M m × n × E n × 1 = F m × 1 M_{m\times n}\times E_{n\times 1}=F_{m\times 1} Mm×n×En×1=Fm×1现在,我通过线性插值的方式,得到了E和F的子向量,它们长度分别为v和u,那么请问,我该如何求得矩阵M',使得: M u × v ′ × E v × 1 = F u × 1 M'{u\times v}\times E{v\times 1}=F_{u\times 1} Mu×v′×Ev×1=Fu×1

二、回答

可能是我表述不明白?或者这个问题比较简单?思考了两天,找到了在一定假设下能够实现我需求的方法,这里记录一下。

对于这种要采样的矩阵来说,最麻烦的是,每行的采样方式,因为这是一个相乘再求和的过程,在这个基础上,对结果进行插值,再求矩阵,不可避免地会产生问题。好在我这里的实际问题能够在有效的假设下,规避这个问题。

既然说,E和F都是连续的,不妨设存在函数E(x)和F(x)来描述这两个向量。我们从简单的地方出发,看看会遇到什么问题,先在行方向上采用,再处理列方向的采样。

首先,我们来计算F的第一行, F 1 = M 1 , 1 × E 1 + M 1 , 2 × E 2 + . . . + M 1 , n × E n = ∑ j = 1 n M 1 , j × E j F_1=M_{1,1}\times E_1+M_{1,2}\times E_2+...+M_{1,n}\times E_n=\sum_{j=1}^{n}{M_{1,j}}\times E_j F1=M1,1×E1+M1,2×E2+...+M1,n×En=∑j=1nM1,j×Ej。既然E和F都是连续的,那么不难推断,M应当也是连续的,可任意插值,不妨在第一行上,我们用m(x)表示。那么刚才的式子就可以写成 F 1 = ∫ 1 n m ( x ) E ( x ) d x F_1=\int_{1}^{n}m\left( x \right)E\left( x \right)dx F1=∫1nm(x)E(x)dx。

现在,我们期望的是,从E(x)中任意抽出的序列 E v × 1 E_{v\times 1} Ev×1,都能找到对应的m(x)的序列 M 1 × v ′ M'{1\times v} M1×v′,继续满足 F 1 = ∑ j = 1 v M 1 , j ′ × E j F_1=\sum{j=1}^{v}{M'_{1,j}}\times E_j F1=∑j=1vM1,j′×Ej。你可能想用拟合的方法求得m(x),但不幸的是,m(x)并没有你想的平缓,拟合容易出问题,而且我的问题对数值比较敏感,M矩阵的量级在 1 0 − 5 10^{-5} 10−5,贸然拟合恐怕会有比较大的偏差。相对于拟合,我更喜欢插值。

我们把视野再缩小一点,看看 E v × 1 E_{v\times 1} Ev×1中的某个 E i E_i Ei,如何通过插值获得其对应的 M 1 , i ′ M'{1,i} M1,i′呢?不失一般性地,我们找到 M 1 , i ′ M'{1,i} M1,i′在原始矩阵中临近的两个值m(a),m(b)和它们对应的E(a),E(b)。我们希望的是, ∫ a b m ( x ) E ( x ) d x = m ′ ( i ) × E ( i ) \int_{a}^{b}m\left( x \right)E\left( x \right)dx=m'\left( i \right)\times E\left( i \right) ∫abm(x)E(x)dx=m′(i)×E(i),这时,我们重要的假设就要登场了。

好在,在一个a-b的区间内,可以合理假设E是不变的,或者,该积分的值主要受m(x)影响,那么上面的式子就变成了 ∫ a b m ( x ) d x = m ′ ( i ) \int_{a}^{b}m\left( x \right)dx=m'\left( i \right) ∫abm(x)dx=m′(i)。至此,通过合理的假设,完成了M'在行方向上的采样。

那么继续,在列方向上的采样就简单得多了,直接线性插值即可,因为矩阵的每一行之间没有计算。

解决这个问题稍显兴奋,写得有些啰里吧嗦,感谢您能浪费时间在这个问题上。

相关推荐
学习论之费曼学习法1 天前
无人值守AI内容矩阵实战(10):Windows 上让 Python 进程 7×24 活着
人工智能·windows·python·矩阵·powershell·进程守护
zhongben_keji1 天前
家政小程序开发全解:经营模式、品类矩阵、派单约束与信用核验
线性代数·矩阵·apache
silvamux_1 天前
微头条爆款体平台适配实测:把交付要求变成可计算的指标
java·线性代数·算法·决策树·矩阵
zyseo81 天前
谷歌SEO 关键词研究完整方法论:从种子词到优先级矩阵
数据库·人工智能·矩阵
lvwangshu2 天前
P15569 [COCI 2025/2026 #5] 结构 / Struktura 题解
矩阵·题解·dp·推导题·矩阵加速
镜子AI2 天前
镜子AI工程实践:用 Python 自动生成 GEO 问答语料与意图覆盖矩阵(零依赖)
人工智能·python·矩阵
学习论之费曼学习法3 天前
无人值守AI内容矩阵实战(8):标题 A/B 实验的 6 个工程实现细节,隔日对比与自动判胜
人工智能·python·算法·矩阵·自动化·a/b测试·内容矩阵
晒太羊的猫3 天前
hot100矩阵问题
线性代数·矩阵
轻口味3 天前
启元无真机二开实战1:54 个接口能做什么、不能做什么——启元 Q1/T1 SDK 能力全景与版本矩阵
线性代数·矩阵·ros2·具身智能·启元机器人
Angel Q.4 天前
协方差矩阵:3DGS 里“椭球的形状说明书“
线性代数·3d·矩阵