Matlab 指数向量

Matlab 指数向量,matlab,Matlab,我有一个10x10矩阵,称为: 我有列数的向量: C=[2,6,8] 我有一个行号向量: R=[1;3;7] 列编号对应于每一行。i、 e.对于第1列,我们看的是R给出的行号,对于第3列,我们看的是R给出的行号,依此类推 我想用其他数字13替换A中的确切位置 i、 e.对于矩阵A中的每个位置: (1,2) (1,6) (1,8), (3,2), (3, 6), (3,8) I want to insert 13. 如何实现上述目标?你可以做A(R,C)=13你可以做A(R,C)=13。正如德拉

我有一个10x10矩阵,称为:

我有列数的向量:

C=[2,6,8]

我有一个行号向量:

R=[1;3;7]

列编号对应于每一行。i、 e.对于第1列,我们看的是R给出的行号,对于第3列,我们看的是R给出的行号,依此类推

我想用其他数字13替换A中的确切位置

i、 e.对于矩阵A中的每个位置:

(1,2) (1,6) (1,8), (3,2), (3, 6), (3,8) I want to insert 13.

如何实现上述目标?

你可以做
A(R,C)=13
你可以做
A(R,C)=13

正如德拉维拉指出的,你可以做
A(R,C)=13
,这将是最好和最简单的。尽管如此,我还是编写了一段较长的代码,涉及
eval
函数,您可能会发现这在将来很有用:

for ii=1:length(C)
    for jj =1:length(R)
        eval(strcat('A(', num2str(C(ii)), ',',num2str(R(jj)),')=13;'))
    end
end

正如德拉维拉指出的,你可以做A(R,C)=13,这将是最好和最简单的。尽管如此,我还是编写了一段较长的代码,涉及
eval
函数,您可能会发现这在将来很有用:

for ii=1:length(C)
    for jj =1:length(R)
        eval(strcat('A(', num2str(C(ii)), ',',num2str(R(jj)),')=13;'))
    end
end

两者都给出了相同的结果。

为什么这比MATLAB的原生索引更有用?不会,但这是我发现经常有用的东西,所以我决定与大家分享,一般来说最好避免
eval
:为什么这比MATLAB的原生索引更有用?不会,但我发现它经常有用,所以我决定与大家分享,一般来说,最好避免使用
eval