matlab中如何把矩陣對應成有顏色的網格

2021-04-27 18:10:56 字數 2389 閱讀 6925

1樓:袁怡圃

p =[0.2920 0.5625 0.2009 0.4740 0.9561 0.3756 0.7694 0.4906 ;

0.8580 0.6166 0.2731 0.9090 0.5955 0.1662 0.4442 0.4093 ;

0.3358 0.1133 0.6262 0.5962 0.0287 0 0.6206 0.4635 ;

0.6802 0 0.5369 0.3290 0.8121 0.8386 0.9517 0.6109 ;

0.0534 0.7546 0.0595 0.4782 0.6101 0.4516 0.6400 0.0712 ;

0.3567 0.7911 0 0.5972 0.7015 0.9566 0.2473 0.3143 ;

0.4983 0.8150 0.2713 0.1614 0.0922 0.1472 0.3527 0.6084 ;

0.4344 0.6700 0.4091 0.8295 0.4249 0.8699 0 0.1750 ;]

gridcolor(p)

執行結果:62616964757a686964616fe58685e5aeb931333238653861

自定義函式gridcolor

function gridcolor(p)

[m n] = size(p);

p = round(1+127*p/max(p(1:end)));

p = flipud(p);

x = 0:m-1;

y = 0:n-1;

[x,y] = meshgrid(x,y);

hmap = [ones(127,1) linspace(0.5,0,127)' zeros(127,1)];

hmap = [[1 1 1];hmap];

for i = 1:m

for j = 1:n

subfun(i, j, x(i,j),y(i,j),hmap(p(i,j), :));

endendfunction subfun(m,n,x0,y0,c)

x = [x0 x0;x0 x0+1;x0+1 x0+1];

y = [y0-1 y0-1;y0 y0-1;y0 y0];

z = [1 1;1 1;1 1];

tcolor(1,1,1:3) = c;

tcolor(1,2,1:3) = c;

h = patch(x,y,z,tcolor);

set(h,'edgecolor','none');

2樓:匿名使用者

n=5;a=13*rand(n);%這個地bai方du我隨便生zhi成dao了一個

內網容格a

c=[0:255]';

h=ones(256,1);

s=(c/255<=.5).*c/255*2+(c/255.5>.5);

v=(c/255<=.5)+(c/255>.5).*(2-c/255*2);

colormap(hsv2rgb([h,s,v]));

image(255*a/(max(a(:))+eps));

matlab實現矩陣裡數值的大小對應顏色的深淺

3樓:匿名使用者

資料如果存在矩陣a裡面

直接用imagesc(a)就可以

如果想像圖中那樣用黑白灰度表示,再加一句

colormap(gray(256))

4樓:匿名使用者

請問,這中馬賽克形式的填充圖要怎麼實現?非常感謝

matlab怎樣將資料變化和顏色變化對應,求助各位大神

5樓:匿名使用者

surf(x,y,z,c)

畫出來就是三維的曲面,x,y,z是座標資料,c是顏色資料函式會根據x,y,z座標的資料,畫出曲面

而根據c資料在對應的位置顯示對應的顏色

當你傳遞給函式的引數c是一個大小和x,y,z一樣的矩陣時而顏色對應採取一個簡單的線性對應

colormap需要一個nx3的矩陣

其中n行表示n種顏色,3列表示每種顏色的r,g,b分量將c中的資料從最小到最大值,按照線性的間隔分成n類但c的資料在第n類時,就選colormap中第n行的顏色所以實現資料和顏色的對應非常簡單

只要指定一個colormap再將資料傳遞給c引數就可以了那位大神用了

surf(m,n,0*m,b,'linestyle',':');

其中想x,y就是m,n 而z=0*m都是零所以畫的圖面就是z=0這個平面,而顏色資料就是b並且他用view(2),以二維的視角去**所以他使用一個畫3維曲面的函式surf,去實現一個畫2維平面的功能實際上要實現二維網格不同顏色顯示,可以用更簡單的imagesc函式

matlab中如何將多個矩陣儲存到同矩陣中

將a,b,c合併成d,然後再一次性儲存為txt.d a b c 讀入到txt建議用dlmwrite函式 例如 有100個同維數的矩陣,使其從左到右的順序儲存到同一個txt檔案中。example a,b,c,d是25 3的矩陣 儲存在txt檔案中後的形式是 a b c d 程式設計了25 12的矩陣。...

如何把矩陣分解成兩個矩陣相乘,如何把一個矩陣分解成兩個矩陣相乘

用高斯消去法把矩陣分解成許多初等矩陣的乘積,然後任意劃分,可以寫成兩組初等矩陣的乘積,再分別計算兩組初等矩陣的乘積,得到的兩個矩陣,就是所求的兩個矩陣,矩陣不唯一。請教一個矩陣怎麼分解成兩個矩陣相乘形式?要能這麼分解,那矩陣的秩只能是1。這樣的話,其實第 二 第三列都是第一列的線性倍。設第一列為x,...

matlab中怎樣把矩陣中的0元素替換成

a a 0 1 好吧,這 bai是很笨的方法。如,du假設呢,你zhi這個矩陣是a daon m clc,clear a 你想變內換的那個矩陣n size a,1 m size a,2 i 1 j 1 for i 1 n for j 1 m if a i,j 0 a i,j 1 endend end...