gpt4 book ai didi

arrays - MATLAB:在矩阵中插入不同数量的 NaN

转载 作者:行者123 更新时间:2023-12-02 15:15:31 26 4
gpt4 key购买 nike

我正在寻找一种解决方案,将不同数量的 NaN 插入矩阵的第一行。假设我有一个 20x3 double 矩阵和一个名为 numNaNs 的 1x3 double 行向量。行向量包含我想插入到矩阵中的 NaN 的数量。

例如,假设 numNaNs = [3, 5, 7]。将矩阵第 1 列的前 3 行、矩阵第 2 列的前 5 行和矩阵第 3 列的前 7 行替换为 NaN 的代码是什么样的?

我试过这样的:

mat(1:numNaNs, :) = nan;

但是,这只会将所有列中的前 3 行替换为 NaN。

最佳答案

一个简短的版本是使用 bsxfun 和内置函数 le(小于或等于)

% Create test data
A = rand(20,3);
numNaNs = [3, 7, 5];

% Number of rows (to keep the last line cleaner)
N = size(A,1);

% Replace with NaN
A(bsxfun(@le, (1:N)', numNaNs)) = NaN;

关于arrays - MATLAB:在矩阵中插入不同数量的 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40866510/

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