我一直在努力解決這個問題一段時間,如果有人能幫助我,我將不勝感激。我能夠生成一個10×10的矩陣,並在矩陣中隨機分配「1」。我的目標是在向量中每個元素的位置繪製一個「星號」,其值爲「1」,但我似乎無法弄清楚如何將向量映射到x-y座標系。我在下面寫的代碼在每個單元格生成一個100星的圖,並生成一個向量「v」,但我不知道如何將該圖與該向量相關聯,而不是在我的圖中有100個「星」 ,但是我有很多,在元素的相應位置有一個「1」的值。如何將矩陣映射到座標並繪製它
謝謝! 大衛 [email protected]
close all
clear all
clc
a=10;b=10;
v = zeros(a,b);
xy = int32(randi(a, 100, 2));
z = randi(1, 100, 1); % 100 values.
indexes = sub2ind([a, b], xy(:,1), xy(:,2))
v(indexes) = z
m=length(v);
ctr=0;
for i=1:m^2
x_cor(i)=(i-(floor(i/m)*m))*200-100;
y_cor(i)=(floor(i/m)+1)*200-100;
for j=1:m
if i==j*m
x_cor(i)=((i-(floor(i/m)*m))*200-100)+(2*m*100);
y_cor(i)=(floor(i/m))*200-100;
end
end
end
figure(1)
plot(x_cor,y_cor,'*');
grid on
感謝路易斯,哇這個情節(bsxfun .....)看起來如此複雜,我從來沒有見過這樣的事情。你能解釋一下這個過程,以及「set ticks」命令的作用嗎?我試圖找出的另一件事是,如果你看看我上面發佈的代碼,在for循環中,我試圖做的是有一個10×10(或更多的單元格)的網格,每個單元格的長度爲200並繪製該單元中間的「星」來代表風力渦輪機的位置。是否有修改你的繪圖代碼,所以它繪製在每個「明星」感謝200×200單元的中間 – Sharkbait