mkkamrani
شنبه 17 مرداد 1394, 20:35 عصر
xy=zeros(296277,1);
for i=1:922267;
xy(i,1)=rating((find(rating==i,1))+922267);
end
چطور می توان کد بالا را در زمان کوتاه اجرا کرد؟
rahnema1
شنبه 17 مرداد 1394, 22:26 عصر
سلام
این را امتحان کنید
xy = zeros(296277, 1);
[~ , i, ~]= unique(rating, 'first', 'legacy');
xy(1:922267) = rating(i(1:922267) + 922267);
اما توجه داشته باشید سایز xy را برابر 296277 قرار داده اید اما در حلقه تا اندیس 922267 می خواهید به اون دسترسی داشته باشید. فکر کنم اعداد را اشتباها اینطور نوشته اید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.