2015-12-13 75 views
0

我有地球的陸地,那裏海水像素的0值和土地像素的文件是1.海像素值是藍色和土地的像素爲綠色定義疊加圖(Matlab的)

imagesc(landmass) 
colormap('winter') 

現在我想用一個動態更新這個傳播的for循環來繪製一個疾病(與大地相同大小的矩陣)的擴散。但是,我不知道它是如何正確的。當某個像素中沒有疾病時,它應該只顯示陸塊文件。當像素出現疾病時,它必須被疾病矩陣覆蓋。

image(disease); 
map = 'jet'; 
colormap(map); 

我嘗試這樣做,但它不工作(所以這是一個更新的疾病矩陣內循環):

for t=1:365 
    disease=disease+t; 
    figure(1);  
    imagesc(landmass) 
    colormap('winter') 
    hold on; 
    if disease>0 
     image(disease); 
     map = 'jet'; 
     colormap(map); 
    end 
    title(sprintf('Day %i',t));         
    drawnow; 
end 

回答

0

你需要把你的原始矩陣,landmass和更新它位於要覆蓋數據的索引處,而不是僅更新疾病數組。你可以改變你的代碼做類似下面的

landmass(x,y,:)=diseasepixel; 
imagesc(landmass); 

一些地方diseasepixel會成爲你想在這一點上的顏色值。

+0

嗯,我不會明白這一點。你能提供更多信息嗎?謝謝 – user5618251

+0

更清楚的是,如果您嘗試在大地圖片上放置患病像素,只需在該點更改大地矩陣的值並更新圖像。 –