如何設定矩陣中特定元素的值

[m1,m2]=find(www=='Ref');
f=zeros(480,640);
f(m1,m2)=1;
m1、m2分別為一個n*1的矩陣,若我想把f矩陣中每個對應的(m1,m2)元素設為1,
例如:m1=[1,2,3],m2=[4,5,6],而我想設定f(1,4)、f(2,5)及f(3,6)都等於1,
請問我該怎麼編寫代碼,謝謝。

回答 (1 件)

Gagan Agarwal
Gagan Agarwal 2023 年 8 月 31 日

0 投票

Hi Dun-Ren Liu
To accomplish your desired objective, you have the option to utilize the built-in sub2ind function available in MATLAB. Please refer to the sample code provided as an example.
f = zeros(5,5);
x = [1,2,3]';
y = [1,2,3]';
idx = sub2ind(size(f),x,y);
f(idx) = 1;
In this code snippet, “f” represents the matrix whose values you intend to modify, while “x” and “y” are vectors that store the row and column indices, respectively.

質問済み:

2022 年 6 月 10 日

回答済み:

2023 年 8 月 31 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!