matlab中適合表示場強的colormap

2021-10-17 03:47:24 字數 2015 閱讀 8641

我在用matlab畫三維場強圖時,找不到合適的colormap。最接近的colormap是matlab自帶的jet,即隨著函式值的增大顏色從藍過渡到紅。但由於場強圖主要表徵場的幅值特性,顏色區分只與函式值的絕對值相關,直接用jet函式就會導致場強最小位置的顏色為中間過渡色,而非藍色。因此我利用colormap顏色rgb值漸變過渡的關係,編寫了乙個適用於場強表示的colormap。

程式效果見下圖,本程式參考jet的色彩過渡關係,為了編寫方便提公升了色彩的純度,採用blue[0,0,1]/cyan[0,1,1]/ yellow[1,1,0]/red[1,0,0]的純色rgb值。

科研初學者,程式沒啥含量,就是自己的一點小理解。

% 電場colormap設定

n_step=9;

color_row=n_step*6+

7;color_map=

zeros

(color_row,3)

; color_r =0:

1/(n_step+1)

:1; color_g =0:

1/(n_step+1)

:1;color_b =0:

1/(n_step+1)

:1;% red to yellow

color_map(1

:1+(n_step+1)

,1)=

1;color_map(1

:1+(n_step+1)

,2)=color_g;a=1

+(n_step+1)

;% yellow to cyan

color_map

(a:a+

(n_step+1)

,1)=

fliplr

(color_r)

;color_map

(a:a+

(n_step+1)

,2)=

1;color_map

(a:a+

(n_step+1)

,3)=color_b;

a=a+

(n_step+1)

;% cyan to blue

color_map

(a:a+

(n_step+1)

,2)=

fliplr

(color_b)

;color_map

(a:a+

(n_step+1)

,3)=

1;a=a+

(n_step+1)

;% blue to cyan

color_map

(a:a+

(n_step+1)

,2)=color_b;

color_map

(a:a+

(n_step+1)

,3)=

1;a=a+

(n_step+1)

;% cyan to yellow

color_map

(a:a+

(n_step+1)

,1)=color_r;

color_map

(a:a+

(n_step+1)

,2)=

1;color_map

(a:a+

(n_step+1)

,3)=

fliplr

(color_b)

;a=a+

(n_step+1)

;% yellow to red

color_map

(a:a+

(n_step+1)

,1)=

1;color_map

(a:a+

(n_step+1)

,2)=

fliplr

(color_g)

;colormap

(color_map)

;

關於Matlab中矩陣元素的表示方法

首先一點要說明的是,在matlab中,矩陣中的元素序號是按照 先行後列 的順序排列的。設如下隨機矩陣 a rand 4,6 a 0.6551 0.9597 0.7513 0.8909 0.1493 0.8143 0.1626 0.3404 0.2551 0.9593 0.2575 0.2435 0....

MATLAB篇 訊號的表示

1 繪製連續時間訊號x t e 0.707t sin 2 3t 關於t的曲線,t的取值範圍是0 30s,並以0.1s遞增。程式如下 t 0 0.1 30 對時間變數賦值 x exp 0.707 t sin 2 3.t 計算變數所對應的函式值 plot t,x grid 繪製函式曲線 ylabel x...

Matlab中DSP的系統函式的表示法及其轉換

零點向量z z1 z2 zm 1 極點向量p z1,z2,zn 1 k為系統增益。分母極點向量p p 1 p 2 p n 分子留數向量r r 1 r 2 r n 餘數多項式係數向量k k 1 k 2 k m n 1 二階因式為,注意,二階因式對應的係數分別就是框圖對應的係數!sos 1 傳遞函式轉換...