MATLAB 绘图函数总结
目錄
輸入坐標的繪圖函數
二維線圖函數
三維線圖函數
曲面圖函數
輸入函數方程(隱函數)的繪圖函數
二維線圖函數
fplot() 繪制 y=f(x)
fimplicit() 繪制二維隱函數
三維線圖函數
fplot3()繪制參數曲線方程
三維曲面圖函數
fsurf()繪制二元方程曲面
fsurf()繪制二元參數方程曲面
fimplicit3() 繪制三維隱函數
繪制散點圖
scatter繪制二維散點圖
scatter3繪制三維散點圖?
繪制極坐標圖
polarplot()繪制極坐標圖
極坐標轉化為笛卡爾坐標
?繪制曲面與平面相交的曲線
參數方程法(三角函數法)
輸入坐標的繪圖函數
二維線圖函數
plot(x,y)
三維線圖函數
plot3(x,y)
曲面圖函數
surf(x,y,z) 曲面圖
mesh(x,y,z)?網格圖
meshgrid() 二維和三維網格
二維網格(網格矩形面)
[X,Y] = meshgrid(x,y)?基于向量?x?和?y?中包含的坐標返回二維網格坐標。X?是一個矩陣,每一行是?x?的一個副本;Y?也是一個矩陣,每一列是?y?的一個副本。坐標?X?和?Y?表示的網格有?length(y)?個行和?length(x)?個列。
[X,Y] = meshgrid(x)?與?[X,Y] = meshgrid(x,x)?相同,并返回網格大小為?length(x)×length(x)?的方形網格坐標。
X,Y都為二維矩陣
三維網格(網格矩形空間)
[X,Y,Z] = meshgrid(x,y,z)?返回由向量?x、y?和?z?定義的三維網格坐標。X、Y?和?Z?表示的網格的大小為?length(y)×length(x)×length(z)。
[X,Y,Z] = meshgrid(x)?與?[X,Y,Z] = meshgrid(x,x,x)?相同,并返回網格大小為?length(x)×length(x)×length(x)?的三維網格坐標。
X,Y,Z都為三維矩陣
surf和mesh的程序實例
clc,clear t = -3:0.1:3; [X,Y] = meshgrid(t); Z=X.^2 + Y.^2; %曲面:z=x^2+y^2 %畫曲面 subplot(1,2,1) mesh(X,Y,Z); title('mesh函數畫曲面z=x^2+y^2') subplot(1,2,2) surf(X,Y,Z); title('surf函數畫曲面z=x^2+y^2')輸入函數方程(隱函數)的繪圖函數
二維線圖函數
fplot() 繪制 y=f(x)
fplot(f)?在默認區間?[-5 5](對于?x)繪制由函數?y = f(x)?定義的曲線。
fplot(f,xinterval)?將在指定區間繪圖。將區間指定為?[xmin xmax]?形式的二元素向量。
f = @(x) sin(x); interval = [-pi pi]; fplot(f,interval) title('fplot函數畫曲線 y=sin(x)')fimplicit() 繪制二維隱函數
fimplicit(f)?在默認區間?[-5 5](對于?x?和?y)上繪制?f(x,y) = 0?定義的隱函數。
fimplicit(f,interval)?為?x?和?y?指定繪圖區間。
繪制x^2+y^2=1
f = @(x,y) x.^2 + y.^2 - 1; interval = [-2 2 -2 2]; fimplicit(f,interval,':b'); title('fimplicit函數畫曲線 x^2 + y^2 = 1')注意方程f表達式運算符^前要加'.'號??
三維線圖函數
fplot3()繪制參數曲線方程
fplot3(funx,funy,funz)?在默認區間?[-5,5](對于?t)繪制由?x = funx(t)、y = funy(t)?和?z = funz(t)?定義的參數化曲線。
fplot3(funx,funy,funz,tinterval)?將在指定區間繪圖。將區間指定為?[tmin tmax]?形式的二元素向量。
xt = @(t) sin(t); yt = @(t) cos(t); zt = @(t) t; fplot3(xt,yt,zt) title('fplot3函數畫參數方程曲線 x=sin(t),y=cos(t),z=t')三維曲面圖函數
fsurf()繪制二元方程曲面
fsurf(f)?在默認區間?[-5 5](對于?x?和?y)為函數?z = f(x,y)?創建曲面圖。
fsurf(f,xyinterval)?將在指定區間繪圖。要對?x?和?y?使用相同的區間,請將?xyinterval?指定為?[min max]?形式的二元素向量。要使用不同的區間,請指定?[xmin xmax ymin ymax]?形式的四元素向量。
f=@(x,y) sin(x)+cos(y); fsurf(f) title('fsurf函數畫曲面 z=sin(x)+cos(y)')fsurf()繪制二元參數方程曲面
fsurf(funx,funy,funz)?在默認區間?[-5 5](對于?u?和?v)繪制由?x = funx(u,v)、y = funy(u,v)、z = funz(u,v)?定義的參數化曲面。
fsurf(funx,funy,funz,uvinterval)?將在指定區間繪圖。要對?u?和?v?使用相同的區間,請將?uvinterval?指定為?[min max]?形式的二元素向量。要使用不同的區間,請指定?[umin umax vmin vmax]?形式的四元素向量。
注意:只能繪制二元函數方程
funx = @(u,v) cos(u).*sin(v); funy = @(u,v) sin(u).*sin(v); funz = @(u,v) cos(v); fsurf(funx,funy,funz,[0 2*pi 0 pi]) title('fsurf函數參數法畫球面 x^2+y^2+z^2=1')fimplicit3() 繪制三維隱函數
?fimplicit3(f)?在默認區間?[-5 5](對于?x)和?y(對于?z)上繪制?f(x,y,z) = 0?定義的三維隱函數。
fimplicit3(f,interval)?為?x、y?和?z?指定繪圖區間。
f = @(x,y,z) x.^2 + y.^2 - z.^2; interval = [-5 5 -5 5 0 5]; fimplicit3(f,interval); title('fimplicit3函數畫曲面 x^2 + y^2 = z^2')繪制散點圖
scatter繪制二維散點圖
scatter(x,y)?在向量?x?和?y?指定的位置創建一個包含圓形的散點圖。該類型的圖形也稱為氣泡圖。
scatter3繪制三維散點圖?
scatter3(X,Y,Z)?在向量?X、Y?和?Z?指定的位置顯示圓圈。
繪制極坐標圖
polarplot()繪制極坐標圖
polarplot(theta,rho)?在極坐標中繪制線條,由?theta?表示弧度角,rho?表示每個點的半徑值。輸入必須是長度相等的向量或大小相等的矩陣。如果輸入為矩陣,polarplot?將繪制?rho?的列對?theta?的列的圖。也可以一個輸入為向量,另一個為矩陣,但向量的長度必須與矩陣的一個維度相等。
theta = linspace(0,6*pi); rho1 = theta/10; polarplot(theta,rho1,'--') %虛線 title('polarplot函數繪制螺旋線 r=theta/10')極坐標轉化為笛卡爾坐標
[x,y] = pol2cart(theta,rho)?將極坐標數組?theta?和?rho?的對應元素轉換為二維笛卡爾坐標或?xy?坐標。
[x,y,z] = pol2cart(theta,rho,z)?將柱坐標數組?theta、rho?和?z?的對應元素轉換為三維笛卡爾坐標或?xyz?坐標。
?繪制曲面與平面相交的曲線
參數方程法(三角函數法)
參數方程法畫曲面z=x^2+2*y^2與曲面z=2-x^2的交線
clc,clear t = -2:0.1:2; [X,Y] = meshgrid(t); Z= X.^2 + 2.*Y.^2; %曲面:z=x^2+2*y^2 Z2= 2 - X.^2; %曲面2:z=2-x^2 %畫曲面 subplot(1,2,1) mesh(X,Y,Z); hold on mesh(X,Y,Z2); title('曲面 z=x^2+y^2 與 z=2-x^2') grid on xlabel('X') ylabel('Y') zlabel('Z') axis equal %畫交線 x^2+y^2=1,z=1+y^2 %參數方程:x=cos(t),y=sin(t),z=1+sin^2(t) t=0:0.1:2*pi; x=cos(t); y=sin(t); z=1+y.^2; subplot(1,2,2) plot3(x,y,z); title('曲面 z=x^2+y^2 與 z=2-x^2 的交線') xlabel('X') ylabel('Y') zlabel('Z') axis equal總結
以上是生活随笔為你收集整理的MATLAB 绘图函数总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS循环执行函数setInterval
- 下一篇: dataoutputstream.wri