MATLAB二元隐函数绘图命令fimplicit3详解
一、引言
fimplicit3功能是繪制二元隱函數的曲面圖形。
類似于一元函數分為顯函數和隱函數,二元函數也有顯函數和隱函數之分。形如z=f(x,y)的二元函數稱為顯函數,而由三元方程f(x,y,z)=0確定的二元函數稱為隱函數。
二元函數對應的幾何圖形是空間曲面,也稱為三維曲面。
對于二元顯函數繪圖,可以使用matlab命令mesh、fmesh、surf和fsurf以及相應的擴展函數來實現。
對于隱函數,有些可以顯化,此時可以使用上述matlab繪圖命令來繪圖,但是仍舊有很多二元函數不易顯化,這就需要使用fimplicit3實現曲面的繪制。
二、implicit3基本語法
fimplicit3基本語法主要包括以下幾種:
1)fimplicit3(@(varibles)function)
其中varibles是方程f( ·, ·, · ) = 0中全部的變量,function是確定隱函數的三元方程f( ·, ·, · ) = 0中左端項,也就是三元函數f( ·, ·, · )。
此語法沒有給出自變量的取值范圍,如果因變量|z|的最大值可以達到5,則以此來限制自變量的取值范圍,否則限制自變量的取值范圍為[-5,5]。
2)fimplicit3(@(varibles)function, interval, linespec)
其中:
varibles是方程f( ·, ·, · ) = 0中全部的變量,function是確定隱函數的三元方程f( ·, ·, · ) = 0中左端項,也就是三元函數f( ·, ·, · );
interval表示方程中三個變量的區間;
linespec表示圖元的屬性。
補充:當f( ·, ·, · )中只給出一組取值范圍時,是表示三個變量的取值范圍相同,以豎坐標z優先。
3)fimplicit3(@(varibles)function, name,value)
其中
varibles是方程f( ·, ·, · ) = 0中全部的變量,function是確定隱函數的三元方程f( ·, ·, · ) = 0中左端項,也就是三元函數f( ·, ·, · );
name表示曲面屬性的名稱;
value是name的取值。
★★★ 參數name的常見取值有:
‘EdgeColor’ 表示曲面上網格線的顏色
‘FaceAlpha’ 表示透明度
‘FaceColor’ 表示曲面的顏色
‘MeshDensity’ 表示每個方向上的計算點數
‘LineStyle’ 表示網格線的線型
‘LineWidth’ 表示網格線的線條寬度
補充:
fimplicit3參數function的定義形式即可以是使用@法定義的,也可以是通過syms定義符號變量而得到的符號函數,
例如:
fun = @(x,y,z)x.^2 + y.^2 - z.^2
或者:
syms x y z;
fun = x^2 + y^2 - z^2;
注意:使用@法生成的符號函數,必須在變量的后面加. ,表示數組元素的運算,否則會提示告警信息。
三、implicit3繪圖示例
Demo1:繪制如下方程表示的曲面圖形。
Demo2:繪制如下方程表示的曲面圖形。
從以上兩個demo可以發現,|z|的最大值達到了5,此時由z限制了x和y的取值范圍。
Demo3:繪制如下方程表示的橢球面曲面圖形。
由此圖可以看出,x和y的取值范圍是[-5,5],而z的取值最大值小于5,曲面圖形看起來也不夠美觀,為了改善這個問題,可以使用下面的語法來實現。
Demo4:繪制如下方程表示的旋轉拋物面圖形,給定變量的取值范圍,并指定繪圖的顏色。
Demo5:繪制如下方程表示的曲面圖形,給定一組變量取值范圍,并指定繪圖的線元。
Demo6:繪制如下方程表示的曲面圖形,指定繪圖的線元顏色。
Demo7:繪制如下方程表示的曲面圖形,指定繪圖的線元顏色。
Demo8:繪制如圓錐面的曲面圖形,指定繪圖的線元顏色、曲面顏色和變量取值范圍。
Demo9:繪制如下方程對應的馬鞍面圖形。
Demo10:繪制馬鞍面圖形。
Demo11:采用不同的顏色和網格數繪制單位球面。
總結
以上是生活随笔為你收集整理的MATLAB二元隐函数绘图命令fimplicit3详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中的“属性”:property、
- 下一篇: android学习:模拟微博看看界面