函數圖像生成器app「excel畫函數圖像求表達式」

一說到數學方程,很多人就會馬上聯想到mathematica、MATLAB、mathCAD、maple等專業的數學軟件,確實這四個軟件是在科技和工程界上比較流行和著名,它們在各自針對的目標領域都有不同的特色。要是設計到專業的數學領域的問題當然就要用他們來解決,但是有時候我們的需求就只是想看看這個數學方程式的圖像,這個時候就沒有必要費力去安裝破解體積這麼龐大的軟件,其實我們日常使用的Excel就能夠擔當大任!下面就來詳細講解一下作圖思路和具體步驟:


先看一下最終的效果演示:

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

最終效果演示


步驟一:

新建一個工作表,命名為方程式和作圖數據,並按如圖所示填好相應的內容:

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

方程式表內容及參數填寫

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

作圖數據表格內容填寫

步驟二:

打開VBE編輯器(Alt+F11),或則在功能區打開,如下圖所示:

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

打開VBE編輯器

插入一個模塊,如下圖所示:

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

插入一個模塊

步驟三:

雙擊插入的模塊(默認名稱為:模塊1),粘貼以下兩段代碼,代碼的具體含義在這就不做詳細講解了,如有需要,歡迎交流,共同進步。

作圖代碼:

Sub 作圖()

Dim obReg As Object

Dim oMatch As Object

Dim length As Integer

length = (Sheets(“方程式”).Cells(2, 3).Value – Sheets(“方程式”).Cells(2, 2).Value) / Sheets(“方程式”).Cells(2, 4).Value

Set obReg = CreateObject(“vbscript.regexp”)

Sheets(“作圖數據”).Rows(“2:1048576”).Clear

Sheets(“方程式”).ChartObjects(“圖表 3”).Activate ‘假設只有一個圖表

With ActiveChart

For i = .SeriesCollection.Count To 1 Step -1

.SeriesCollection(i).Delete

Next

End With

With obReg

.Global = True

.IgnoreCase = True

.Pattern = “[x]”

End With

Sheets(“作圖數據”).Cells(2, 1).FormulaR1C1 = “=方程式!R2C2”

Sheets(“作圖數據”).Cells(3, 1).FormulaR1C1 = “=R[-1]C+方程式!R2C4”

Sheets(“作圖數據”).Cells(3, 1).AutoFill Destination:=Sheets(“作圖數據”).Range(Sheets(“作圖數據”).Cells(3, 1), Sheets(“作圖數據”).Cells(length + 2, 1))

For i = 0 To 9

Sheets(“作圖數據”).Cells(2, 2 + i).FormulaR1C1 = “=” & obReg.Replace(Sheets(“方程式”).Cells(2 + i, 1).Value, “RC[-” & i + 1 & “]”)

Sheets(“作圖數據”).Range(Sheets(“作圖數據”).Cells(2, 2 + i), Sheets(“作圖數據”).Cells(2, 2 + i)).AutoFill Destination:=Sheets(“作圖數據”).Range(Sheets(“作圖數據”).Cells(2, 2 + i), Sheets(“作圖數據”).Cells(length + 2, 2 + i))

Next

ActiveWorkbook.Names.Add Name:=”X_1″, RefersToR1C1:=”=OFFSET(作圖數據!R1C1,0,0,方程式!R2C7,1)”

For j = 1 To 10

ActiveWorkbook.Names.Add Name:=”Y_” & j, RefersToR1C1:=”=OFFSET(作圖數據!R1C” & j + 1 & “,0,0,方程式!R2C7,1)”

Next

ActiveSheet.ChartObjects(“圖表 3”).Activate

ActiveChart.SetSourceData Source:=Sheets(“作圖數據”).Range(“a1:b” & length + 2)

For k = 2 To 10

Application.Goto Reference:=”Y_” & k

Selection.Copy

Sheets(“方程式”).Select

ActiveSheet.ChartObjects(“圖表 3”).Activate

ActiveChart.Paste

Next

Sheets(“方程式”).ChartObjects(“圖表 3”).Activate

ActiveChart.Axes(xlValue).Select

ActiveChart.Axes(xlValue).MinimumScale = Sheets(“方程式”).Range(“e2”).Value

ActiveChart.Axes(xlValue).MaximumScale = Sheets(“方程式”).Range(“f2”).Value

ActiveChart.Axes(xlValue).MajorUnit = Sheets(“方程式”).Range(“E5”).Value

ActiveChart.Axes(xlValue).MinorUnit = Sheets(“方程式”).Range(“F5”).Value

ActiveChart.Axes(xlCategory).Select

ActiveChart.Axes(xlCategory).MinimumScale = Sheets(“方程式”).Range(“b2”).Value

ActiveChart.Axes(xlCategory).MaximumScale = Sheets(“方程式”).Range(“c2”).Value

ActiveChart.Axes(xlCategory).MajorUnit = Sheets(“方程式”).Range(“C5”).Value

ActiveChart.Axes(xlCategory).MinorUnit = Sheets(“方程式”).Range(“D5”).Value

End Sub

刷新代碼:

Sub 刷新()

Dim obReg As Object

Dim oMatch As Object

Dim length As Integer

length = (Sheets(“方程式”).Cells(2, 3).Value – Sheets(“方程式”).Cells(2, 2).Value) / Sheets(“方程式”).Cells(2, 4).Value

Set obReg = CreateObject(“vbscript.regexp”)

Sheets(“作圖數據”).Rows(“2:1048576”).Clear

With obReg

.Global = True

.IgnoreCase = True

.Pattern = “[x]”

End With

Sheets(“作圖數據”).Cells(2, 1).FormulaR1C1 = “=方程式!R2C2”

Sheets(“作圖數據”).Cells(3, 1).FormulaR1C1 = “=R[-1]C+方程式!R2C4”

Sheets(“作圖數據”).Cells(3, 1).AutoFill Destination:=Sheets(“作圖數據”).Range(Sheets(“作圖數據”).Cells(3, 1), Sheets(“作圖數據”).Cells(length + 2, 1))

For i = 0 To 9

Sheets(“作圖數據”).Cells(2, 2 + i).FormulaR1C1 = “=” & obReg.Replace(Sheets(“方程式”).Cells(2 + i, 1).Value, “RC[-” & i + 1 & “]”)

Sheets(“作圖數據”).Range(Sheets(“作圖數據”).Cells(2, 2 + i), Sheets(“作圖數據”).Cells(2, 2 + i)).AutoFill Destination:=Sheets(“作圖數據”).Range(Sheets(“作圖數據”).Cells(2, 2 + i), Sheets(“作圖數據”).Cells(length + 2, 2 + i))

Next

ActiveWorkbook.Names.Add Name:=”X_1″, RefersToR1C1:=”=OFFSET(作圖數據!R1C1,0,0,方程式!R2C7,1)”

For j = 1 To 10

ActiveWorkbook.Names.Add Name:=”Y_” & j, RefersToR1C1:=”=OFFSET(作圖數據!R1C” & j + 1 & “,0,0,方程式!R2C7,1)”

Next

Sheets(“方程式”).ChartObjects(“圖表 3”).Activate

ActiveChart.Axes(xlValue).Select

ActiveChart.Axes(xlValue).MinimumScale = Sheets(“方程式”).Range(“e2”).Value

ActiveChart.Axes(xlValue).MaximumScale = Sheets(“方程式”).Range(“f2”).Value

ActiveChart.Axes(xlValue).MajorUnit = Sheets(“方程式”).Range(“E5”).Value

ActiveChart.Axes(xlValue).MinorUnit = Sheets(“方程式”).Range(“F5”).Value

ActiveChart.Axes(xlCategory).Select

ActiveChart.Axes(xlCategory).MinimumScale = Sheets(“方程式”).Range(“b2”).Value

ActiveChart.Axes(xlCategory).MaximumScale = Sheets(“方程式”).Range(“c2”).Value

ActiveChart.Axes(xlCategory).MajorUnit = Sheets(“方程式”).Range(“C5”).Value

ActiveChart.Axes(xlCategory).MinorUnit = Sheets(“方程式”).Range(“D5”).Value

End Sub

步驟四:

在方程式表中插入兩個宏按鈕,具體操作如下:

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

插入按鈕(窗體控件)

完成後效果如下:

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

完成效果圖

步驟五:

將控件按鈕分別對應關聯到我們剛才粘貼的兩段代碼:

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

單擊右鍵指定宏

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

關聯對應的宏

步驟六:

大功告成!只需在方程式一欄中填寫自己想要作圖的方程然後點擊作圖即可生成函數圖像。

注意:當改變X、Y軸範圍時點擊作圖按鈕,只是改變方程時點擊刷新按鈕!!!

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

注意事項

無需專業數學軟件,Excel 就可以繪製數學方程式圖像(建議收藏)

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/272896.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:02
下一篇 2024-12-17 14:02

相關推薦

發表回復

登錄後才能評論