clc
clear all
q=[2 31 6;2 31 7;2 31 6;2 31 6;2 31 6;2 31 6];
for i=1:6
if i>1
for j=1:i-1
if q(j,2)==q(i,2)
e = rand(10,1); % some matrix you want to sample from
idx5=randi(length(e)); % random index into x
q(j,2)=idx5
j=1;
end
end
end
end
我有矩陣Q,我想改變每行中的第二列中的值,如果下一個值,這意味着下一行中的值是相同的在前一行中的值例如:第1行第2列中的值爲第31行第2列中的值爲31置換矩陣值,而無需通過隨機函數重複
所以我想通過此隨機函數將第二個值31更改爲值當值改變時,代碼假設從以前的所有值開始再次檢查,因爲可能新的隨機值再次匹配以前的值之一
問題代碼中,它是離開循環是j = 1:i-1當我再次j = 1時,因爲我必須再次開始檢查所有的值從開始
我通過跟蹤檢查它是離開循環,它是從循環開始i = 1:6,但它是假設留在第二個循環,這是爲j = 1:i-1,直到沒有以前的隨機值匹配
所以我想使J = 1個時的值在矩陣,這意味着從一開始就重新開始循環匹配
似乎沒有必要作出它的一半是爲零,但值必須是確切的數字,每當值是匹配,循環必須在對於j再次啓動= 1:I-1 –
什麼你的意思是?哪些值必須是精確的數字?爲什麼循環必須重新開始?產生的「q」不是你想要達到的目標?如果是這樣,什麼是錯的?爲什麼需要使用循環? –
我想改變在列2中的矩陣q的值,所以如果你看到我的原始矩陣,那麼這些值與前面的原始矩陣不同,因爲第2列中的所有值都是31,所以我的代碼假設要更改值31是在第二次生到最後的隨機變量,但即使我不想隨機變量也被重複多數民衆贊成爲什麼我必須再次啓動循環 –