gpt4 book ai didi

matlab - 替换矩阵中的所有数字

转载 作者:太空宇宙 更新时间:2023-11-03 20:26:01 32 4
gpt4 key购买 nike

有两个矩阵;第一个是我的输入矩阵

enter image description here

第二个(“重命名矩阵”)用于替换第一个的值

enter image description here

也就是看重命名矩阵; 701 必须替换为 1,...,717 必须替换为 10,等等.. 这样输入矩阵就变成了这样

enter image description here

那个?值已定义,但我没有放置它们。输入矩阵的第二列已经排序(从上到下升序)但值不连续(没有“710”:见第一张图片)。

问题是如何从前两个得到输出矩阵(最后一张)。

最佳答案

在我看来,它正在尖叫着寻求稀疏矩阵解决方案。在 matlab 中,您可以使用以下命令创建稀疏矩阵:

SM = sparse( ri, ci, val );

其中 ri 是非零元素的行索引,ci 是对应的列索引,val 是值。

我们将您的输入矩阵称为 IM 并将您的查找矩阵称为 LUM,然后我们构建稀疏矩阵:

nr = size(LUM, 1);
SM = sparse( ones(nr, 1), LUM(:, 1), LUM(:, 2) );

现在我们可以在一行中得到您的结果:

newMatrix = reshape(SM(1, IM), size(IM));

几乎是魔术。

我今晚没有机会检查这个 - 但如果它没有完全按照描述的那样工作,它应该真的非常接近......

关于matlab - 替换矩阵中的所有数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14864196/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com