gpt4 book ai didi

arrays - 将大小为 1*n 的矩阵的一列值替换为大小为 n*n 的另一个矩阵

转载 作者:行者123 更新时间:2023-12-02 09:30:33 25 4
gpt4 key购买 nike

我是 MATLAB 编程新手,无法解决以下问题

我有一个矩阵A,大小示例:1*16,例如

A = [.01 0 0 0 .42 0 0 0 .13 0 0 0 .09 0 0 .32]

另一个大小为 16*16 的矩阵 B,所有列的值都相同

B = [.12 .18 .08 .17 .43 .13 .13 .24 .09 .11 .04 .08 .10 .15 .08 .43]

每一行与第一行相同。

我想用 A 列替换 B 列,但如果 A 中存在 0 我应保持该列的 B 值相同。

我想要输出为 16*16 矩阵,其中示例行矩阵 C 为:

C = [.01 .18 .08 .17 .42 .13 .13 .24 .13 .11 .04 .08 .09 .15 .08 .32]

我很高兴获得支持。

最佳答案

你可以这样走:

k = find(A);
C = B(1,:);
C(k) = A(k);
B = repmat( C,16,1);

它不像其他答案那么优雅,但它只展示了如何针对 16x16 矩阵 B 而不是 1x16 进行操作。

关于arrays - 将大小为 1*n 的矩阵的一列值替换为大小为 n*n 的另一个矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33630165/

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