Matlab四維數據可視化:三維坐標[x, y, z]和顏色

2021-01-08 算法集市

上文我們講到了Matlab的三維可視化命令-mesh surf,有同學提到講一下四維數據的可視化,即有三維坐標[x, y, z],再用顏色表達第四維數據,如下圖所示。

四維數據可視化:三維坐標[x, y, z]和顏色

今天我們就說一種Matlab四維數據可視化的方法:三維坐標[x, y, z]和顏色。因為Matlab自帶的命令中沒有直接可視化四維數據的命令,所以我們需要用點小技巧,即用三維命令plot3畫出三維坐標[x, y, z],用顏色表示該點的第四維數據。

比如我們有函數f(x, y, z) = x + y + z,x,y,z∈[-5, 5]。若f(x, y, z) < -5, 則g(x, y, z) = 'red';若f(x, y, z) < 5, 則g(x, y, z) = 'blue';其他情況,則g(x, y, z) = 'green';

Matlab代碼如下

四維數據可視化:三維坐標[x, y, z]和顏色

運行結果

四維數據可視化:三維坐標[x, y, z]和顏色

四維數據可視化:三維坐標[x, y, z]和顏色

四維數據可視化:三維坐標[x, y, z]和顏色

除了顏色表示第四維數據之外,還可以用不同的線型來表示第四維數據,如叉號、圓圈、五角星等。

四維數據可視化:三維坐標[x, y, z]和線型

這裡只是拋磚引玉,也有很多其他的方法來表示第四維數據,歡迎小夥伴留言探討。

相關焦點

  • matlab矢量函數的可視化
    matlab矢量圖流線圖streamlinestreamline(x,y,u,v,startx,starty)其中startx,starty分別為流線的坐標[x,y]=meshgrid(0:0.1:1,0:0.1:1);u=sin(x);v=-y;figure
  • 賽前必看,這些必備的Matlab繪圖函數你會了嗎?
    繪圖函數知多少 眾所周知,matlab不僅擅長處理與矩陣相關的數值運算,在科學可視化方面,它同樣有著很深的積澱。它提供的眾多功能豐富的函數,可以很好地滿足我們需要用到圖形來展示數值信息的各種各樣的需求。 MATLAB具有二維、三維乃至四維的圖形表現能力。
  • 愛因斯坦楊振寧稿紙,三維空間四維空間坐標表示
    我們在作圖的時候,三維空間三維坐標XYZ,先畫X,時間標記為T1,畫Y,時間標記為T2,畫Z時間標記為T3,使T1,T2,T3,縮合成為一個點,在時間點上測量,這樣無論什麼時間測量,XYZ都是垂直關係,把這個時間點,複製排列,加上勻速的時間,無論什麼時間測量,都是垂直,這是一個三維空間坐標
  • 四維空間如何被觀測到,它和三維空間是共存的嗎?專家:觀測到就是...
    四維空間不同於三維空間,四維空間指的是標準歐幾裡得空間,可以拓展到人類作為三維物體可以理解四維時空(三個空間維度和一個時間維度)但無法認識以及存在於四維空間,因為人類屬於第三個空間維度生物。通常所說時間是第四維即四維時空下的時間維度。四維空間的第四維指與x,y,z同一性質的空間維度。然而四維時空並不是標準歐幾裡得空間,時間的本質是描述運動的快慢。 通過一維、二維、三維空間的演變,人們提出了關於四維空間的一些猜想。
  • MATLAB畫雙x坐標的圖
    我們就來看一下怎樣用MATLAB畫出雙x坐標的圖,同時做好各種標註輸入要做圖的數據x1 = [1 2 3 4 5 6];x2 = [0.1 0.2 0.3 0.4 0.5 0.6];y = [5 6 7 8 9 10];然後先根據x1和y畫圖,h1= line(x1,y,'Color','k','Marker','s','MarkerEdgeColor
  • Matlab函數大全
    管理變量和工作區 clear :從內存中刪除所有變量, clear x y z 是刪除某個變量 disp :顯示文本或數組內容 length :數組長度 (最長維數 ) load :重新載入變量 (從磁碟上 ) mlock :鎖定文件,防止文件被錯誤刪除 munlock :解鎖文件 openvar :在數組編輯器中打開變量
  • 數據可視化系列:那些被你忽略的坐標軸設計細節
    坐標系是能夠使每個數組在維度空間內找到映射關係的定位系統,更偏向數學/物理概念。在數據可視化中,最常用的坐標西分為笛卡爾坐標系和極坐標系,本文介紹的坐標軸設計主要也是圍繞直角坐標系展開,enjoy~什麼是坐標軸在說坐標軸之前先來介紹下什麼是坐標系。
  • 以方程的推導,簡析四維空間的封閉是什麼?
    在增加維度的時候可以將現在的維度微縮成一個點即為圓心,如從2維(x,y)上升到3維(x,y,z)時,將二維(x,y)的面坍縮為一個點,則到3維z軸的距離相同的的點成了一個圓,如果3維(x,y,z)上升至4維(x,y,z,w),則將3維坍縮成一個點,此時該點到四維中w軸的距離也可以簡化成一個圓了,按照低維度到高維度的距離相同的點一一映射過去,會發現3維的大的球體會映射出一個個很小很小的小球體
  • MATLAB基礎教程-臺大郭彥甫-學習筆記6
    :2*pi; y1=sin(x); y2=exp(-x);%兩個函數plot(x,y1,'--*',x,y2,':o');%畫圖xlabel('t=0 to 2\pi');%x軸ylabel('values of sin(x) and e^{-x}');%y軸title('Function plots if sin(x) and e^{-x}');%標題legend('sin(x)','e^{-x}
  • z=f(x^2-y^2,ln(x-y))求z對x,y的偏
    主要內容:本文介紹全微分法和直接法,求解抽象函數z=f(x^2-y^2,ln(x-y)對x,y的一階偏導數dz/dx和dz/dy的具體步驟和過程。全微分法:對函數z求全微分得:dz=f1'(2xdx-2ydy)+f2'(1dx-1dy)/(x-y),即:dz=[2xf1'+f2』/(x-y)]dx-[2yf1'+f2』/(x-y)dy,根據全微分與偏導數的關係,得:dz/dx=2xf1'+f2』/(x-y),dz/dy=-[2yf1'+f2』/(
  • 信號系統實驗報告3-MATLAB的數據圖形可視化
    一、實驗目的1、掌握MATLAB數據可視化的基本命令和方法,掌握MATLAB圖形窗口的創建,以及運用.fig文件保存圖形的方法。2、掌握運用plot命令繪製二維曲線,實現數據圖形可視化的方法。3、掌握通過MATLAB圖形窗口及其屬性編輯器,對已繪製圖形對象的屬性(點色、點大小、點邊色、線色、線型、線寬、標記、標題、坐標軸、圖例、坐標格網等)進行交互式設置與編輯的方法。
  • MATLAB畫圖使用不同的線型、點及標記
    matlab提供的線型、顏色和標記符如下表:如果指定了標記符號但未指定線型,則 plot 僅顯示無線條連接的標記。A = 1;f= 1;x1 = A * sin(2*pi*f*t)./t;x2 = A * cos(2*pi*f*t-pi/2).
  • z=f(x^2-y^2,ln(x-y))求z對x,y的偏導
    主要內容:本文介紹全微分法和直接法,求解抽象函數z=f(x^2-y^2,ln(x-y)對x,y的一階偏導數dz/dx和dz/dy的具體步驟和過程。全微分法:對函數z求全微分得:dz=f1'(2xdx-2ydy)+f2'(1dx-1dy)/(x-y),即:dz=[2xf1'+f2』/(x-y)]dx-[2yf1'+f2』/(x-y)dy,根據全微分與偏導數的關係,得:dz/dx=2xf1'+f2』/(x-y),dz/dy=-[2yf1'+f2』/(
  • z=f(x^2-y^2,ln(x-y))求z對x,y的偏導數
    主要內容:本文介紹全微分法和直接法,求解抽象函數z=f(x^2-y^2,ln(x-y)對x,y的一階偏導數dz/dx和dz/dy的具體步驟和過程。全微分法:對函數z求全微分得:dz=f1'(2xdx-2ydy)+f2'(1dx-1dy)/(x-y),即:dz=[2xf1'+f2』/(x-y)]dx-[2yf1'+f2』/(x-y)dy,根據全微分與偏導數的關係,得:dz/dx=2xf1'+f2』/(x-y),dz/dy=-[2yf1'+f2』/(
  • 完全免費,簡化版Plotly推出,秒繪各類可視化圖表
    ( gapminder # 繪圖使用的數據 ,x="gdpPercap" # 橫縱坐標使用的數據 ,y="lifeExp" # 縱坐標數據 ,color="continent" # 區分顏色的屬性 ,size="pop" # 區分圓的大小 ,size_max=60 # 圓的最大值 ,hover_name="country" # 圖中可視化最上面的名字 ,animation_frame="year"
  • Matlab畫圖1 離散數據的可視化
    數據可視化的目的:藉助幾何比擬、色彩渲染、光照明暗、實時更新等多種手段,展現多個貌似雜亂的離散數據的集合形態,表達數據內在關係和總體趨勢,進而揭示出數據所傳遞的內在本質。,'MarkerSize',20); %用20號紅點標誌中國數據hold on %允許在同一軸系上疊繪Hus = plot(T,US,'bo'); %用默認藍色小圓圈標誌美國數據Hus.MarkerSize = 8; %點調用格式設置圓圈的大小hold off %不再在此軸系上疊繪legend('中國','美國','Location','NorthWest') %在左上標出圖例grid
  • Matlab繪圖示例
    z=cos(x);figure;plot(x,y,'r:*',x,z,'g-.v')程序運行結果:2.一幅圖上繪製多條曲線Matlab程序如下:clc;clear all;x=-pi:pi/10:pi;y=[sin(x);sin(x+1);sin(x+2)];z=
  • 超硬核的 Python 數據可視化教程!
    Seaborn是一個基於matplotlib的高級可視化效果庫,針對的點主要是數據挖掘和機器學習中的變量特徵選取,seaborn可以用短小的代碼去繪製描述更多維度數據的可視化效果圖其他庫還包括Bokeh(是一個用於做瀏覽器端交互可視化的庫,實現分析師與數據的交互);Mapbox(處理地理數據引擎更強的可視化工具庫)等等本篇文章主要使用
  • MATLAB在數學中的應用
    )*fun1(2)+fun1(3)*fun1(3)x=[0:1:10]; %產生X軸數據y=x.^2-10*x+15; %產生Y軸數據plot(x,y);title('函數y=x.^2-10*x+15的圖像'); %添加標題xlabel('x'); %添加橫坐標ylabel('y'); %添加縱坐標grid on; %繪製網格線
  • MATLAB基本語法和基本操作
    = 32 ; y = 86;if x > y 'x 大於 y' elseif x < y 'x 小於 y'elseif x == y ' x 等於y'else 'error'endans =x 小於 y循環語句for 循環的基本格式為:for 循環變量 = 起始值 : 步長 : 終止值 循環體 end% for