• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    Mathematica繪制函數圖像—隱函數圖像

            熟悉幾何畫板的網友應該可以或許發現,幾何畫板幾乎不成能畫出隱函數的圖像。若是我們需要繪制某些隱函數的圖像,應該怎么辦呢?我標的目的大師保舉兩條目軟件:Desmos和Mathematica。

            關于Desmos繪制隱函數的圖像,《怎么利用Desmos繪制函數圖形》里已經有了簡單的講述,感樂趣的網友可以去看看。

            下面就講一下用Mathematica畫隱函數圖像的具體方法,并當令地對比一下Desmos的結果。

    5怎么利用繪制函數圖形

    東西/原料

    • 電腦
    • Mathematica(8.0以上版本)
    • Desmos網頁版

    例一:幾種未定名的曲線、曲面

    1. 1

              有人可能要說,畫不出隱函數的圖像,你可以把隱函數方程化當作顯函數來畫呀!或者轉化當作參數方程的形式呀!就像橢圓的參數方程是:x=sint,y=cost,這不就把橢圓的方程的“隱函數”轉化為“參數方程”了嗎?

              對此,我只好難為他們一下了:

              請測驗考試著把x^y=y^x轉化為“非隱函數”的形式。

    2. 2

              隱函數的圖像,要用ContourPlot號令函數來實現。

              例如:繪制x^x+y^y=5/3的圖像。

              Mathematica代碼是:

      ContourPlot[x^x + y^y == 5/3, {x, 0, 1}, {y, 0, 1},  ImageSize -> {500, 500}]

              注重格局:這里圖形巨細設心猿意馬為500×500像素;方程x^x + y^y == 5/3之間的等號必需是雙等號;x和y的畫圖規模都要寫出來。

              運行今后獲得的圖形是下面第一個圖。第二個圖是用Desmos畫出來的。

    3. 3

              其實,ContourPlot還可以繪制等高線圖

      ContourPlot[x^x + y^y, {x, -0.5, 2}, {y, -0.5, 2}]

      ContourPlot[x^x + y^y, {x, -0.1, 0.7}, {y, -0.1, 0.7}]

              發現,當x^x + y^y的值過年夜的時辰,圖形不是封鎖曲線。于是發生一個問題:要包管x^x + y^y=a的圖像是封鎖曲線,a的最年夜值和最小值別離是幾多?

    4. 4

              繪制x^x + y^y + z^z ==2.3的三維圖形,要用到的號令函數是ContourPlot3D。具體的格局與ContourPlot近似,獨一的區別是,多了個變量z。

              代碼是:

      ContourPlot3D[ x^x + y^y + z^z == 2.3, {x, 0, 1.1}, {y, 0, 1.1}, {z, 0, 1.1}]

              成果是一個封鎖的三維曲面。

              一個近似的問題:要包管x^x + y^y+z^z=a的圖像是封鎖曲面,a的最年夜值和最小值別離是幾多?

    例二:非圓弧的等寬曲線

    1. 1

              有一條聞名的等寬曲線,它分歧于Reuleaux三角形之流。因為它不是靠很多圓弧拼當作的,而是處處滑膩,可以由一個隱函數方程(一個8元2次多項式)給出來。以前,我用Desmos畫出來了,那時只截了個圖,沒有貼代碼。因為方程式很長,所以,這里把代碼貼出來。

              Mathematica代碼

      ContourPlot[(x^2 + y^2)^4 - 45 (x^2 + y^2)^3 - 41283 (x^2 + y^2)^2 +    7950960 (x^2 + y^2) + 16 (x^2 - 3 y^2)^3 +    48 (x^2 + y^2) (x^2 - 3 y^2)^2 -    720^3 + (x^2 - 3 y^2) x (16 (x^2 + y^2) ^2 - 5544 (x^2 + y^2) +       266382) == 0, {x, -10, 10}, {y, -10, 10}]

              Desmos代碼是:

      0=\left(x^2+y^2\right)^4-45\left(x^2+y^2\right)^3-41283\left(x^2+y^2\right)^2+7950960\left(x^2+y^2\right)+16\left(x^2-3y^2\right)^3+48\left(x^2+y^2\right)\left(x^2-3y^2\right)^2+x\left(x^2-3y^2\right)\left(16\left(x^2+y^2\right)^2-5544\left(x^2+y^2\right)+266382\right)-720^3

              對比成果如下:

    2. 2

              等高線圖:

      ContourPlot[(x^2 + y^2)^4 - 45 (x^2 + y^2)^3 - 41283 (x^2 + y^2)^2 +   7950960 (x^2 + y^2) + 16 (x^2 - 3 y^2)^3 +   48 (x^2 + y^2) (x^2 - 3 y^2)^2 -   720^3 + (x^2 - 3 y^2) x (16 (x^2 + y^2) ^2 - 5544 (x^2 + y^2) +      266382), {x, -10, 10}, {y, -10, 10}]

              可以發現,今世碼里的式子變年夜,就不是等寬曲線了(變小時,不克不及必定)。于是有一個問題怎么證實上面步調里的曲線是等寬曲線?我不會,留著慢慢解答。

    3. 3

              關于等寬曲線的其它內容,參考《等寬曲線的理解和機關》。

      2等寬曲線的理解和機關

    ContourPlot(3D)各類選項

    1. 1

              去失落坐標軸,用Axes->False

              去失落邊框,用Frame->False

              ContourStyle 決議等高線的外形特征。

              例如:

      ContourPlot[x^x + y^y == 5/3, {x, 0, 1}, {y, 0, 1}, 

       ContourStyle -> {Blue, Thickness[0.01]}, Axes -> False, 

       Frame -> False, ImageSize -> {500, 500}]

              這是一條藍色的曲線,寬度為0.01。

    2. 2

              PlotLabel  給圖形添加標簽,一般位于頂部;

              LabelStyle 決議標簽的外不雅特征。

              把上面的代碼加以點竄:

      ContourPlot[x^x + y^y == 5/3, {x, 0, 1}, {y, 0, 1}, 

       ContourStyle -> {Blue, Thickness[0.01]}, Axes -> False, 

       Frame -> False, PlotLabel -> Style[x^x + y^y == 5/3, 20], 

       LabelStyle -> Directive[Bold, Blue], ImageSize -> {500, 500}]

              于是,圖形上邊有了一個標簽。

    3. 3

              Ticks 給出坐標軸的具體刻度值。用“非圓弧等寬曲線”為例,分“有坐標軸”和“沒有坐標軸”兩類。

              “有坐標軸”的代碼:

      F[x_, y_] := (x^2 + y^2)^4 - 45 (x^2 + y^2)^3 - 41283 (x^2 + y^2)^2 +    7950960 (x^2 + y^2) + 16 (x^2 - 3 y^2)^3 +    48 (x^2 + y^2) (x^2 - 3 y^2)^2 -    720^3 + (x^2 - 3 y^2) x (16 (x^2 + y^2)^2 - 5544 (x^2 + y^2) +       266382);

      ContourPlot[F[x, y] == 0, {x, -10, 10}, {y, -10, 10},  ContourStyle -> {Blue, Thickness[0.01]}, Axes -> True,  Frame -> False, Ticks -> {{-10, 6, 8}, {0, 1, 6}},  PlotLabel -> F[x, y] == 0, AspectRatio -> Automatic]

              “沒有坐標軸”的代碼:

      ContourPlot[F[x, y] == 0, {x, -10, 10}, {y, -10, 10},  ContourStyle -> {Blue, Thickness[0.01]}, Axes -> False,  Frame -> False,  PlotLabel -> F[x, y] == 0, AspectRatio -> Automatic]

              這里呈現一個問題:用Mathematica給圖形添加標簽,若是標簽出格長,如下圖那樣不克不及完整顯示,應該怎么辦?

    4. 4

              用虛線作為等高線,ContourStyle->Dashed

              等高線完全透明,ContourStyle->None

              代碼兩個:

      ContourPlot[F[x, y], {x, -10, 10}, {y, -10, 10},  ContourStyle -> Dashed]

              和

      ContourPlot[F[x, y], {x, -10, 10}, {y, -10, 10},  ContourStyle -> None]

    5. 5

              Contours 確定等高線的密集水平。

      ContourPlot[F[x, y], {x, -10, 10}, {y, -10, 10},  ContourStyle -> Dashed, Contours -> 20]

              和

      ContourPlot[F[x, y], {x, -10, 10}, {y, -10, 10},  ContourStyle -> None, Contours -> 20]

    6. 6

              繪制3D曲面的時辰,不想要網格線,可以Mesh->None

              若是有網格線,那么MeshStyle確定網格線的模樣。

              代碼是

      ContourPlot3D[ x^x + y^y + z^z == 2.3, {x, 0, 1.1}, {y, 0, 1.1}, {z, 0, 1.1},  Axes -> False, Mesh -> None, PlotLabel -> Style[怎么能把外框去失落, Red, 30],  ColorFunction -> Function[{x, y, z}, Hue[x + y + z]]]

              和

      ContourPlot3D[ x^x + y^y + z^z == 2.3, {x, 0, 1.1}, {y, 0, 1.1}, {z, 0, 1.1},  Axes -> False,  PlotLabel -> Style[怎么能把外框去失落, Red, 30],  MeshStyle -> Dashed, Mesh -> 5,  ColorFunction -> Function[{x, y, z}, Hue[x + y + z]]

    注重事項

    • 提出幾個問題,留給樂趣相投的網友:
    • 要包管x^x + y^y=a的圖像是封鎖曲線,a的最年夜值和最小值別離是幾多?
    • 要包管x^x + y^y+z^z=a的圖像是封鎖曲面,a的最年夜值和最小值別離是幾多?
    • 怎么證實(x^2 + y^2)^4 - 45 (x^2 + y^2)^3 - 41283 (x^2 + y^2)^2 +7950960 (x^2 + y^2) + 16 (x^2 - 3 y^2)^3 +48 (x^2 + y^2) (x^2 - 3 y^2)^2 - 720^3 + (x^2 - 3 y^2) x (16 (x^2 + y^2) ^2 - 5544 (x^2 + y^2) +266382) = 0的曲線是等寬曲線?
    • 怎么把一個隱函數方程轉化為參數方程?
    • 處處滑膩的等寬曲線,都有哪一些?
    • 用Mathematica給圖形添加標簽,若是標簽出格長而不克不及完整顯示,應該怎么辦?
    • Mathematica圖形的標簽里面,能不克不及有“?問號”?
    • 發表于 2018-06-22 00:00
    • 閱讀 ( 3921 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆