Thep Excel

calculus integrate excel

เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง

อ่าน 7 นาที

ในตอนที่แล้วเราได้เรียนเรื่องพื้นฐาน Calculus และเรื่องการหา Derivative กันไปแล้ว ในตอนนี้เราจะมาเรียนอีกเรื่องนึงที่สำคัญมากๆ นั่นก็คือการ Integrate นั่นเองครับ

ซึ่งเจ้า Integration หรือ การอินทิเกรต คือ กระบวนการที่ตรงข้ามกับการหาอนุพันธ์ หรือ Derivative นั่นเอง

Integrate นั้นตรงข้ามกับ Differentiate

รูปแบบทั่วไปคือ ถ้าสมมติ diff ฟังก์กัน F(x) แล้วได้ฟังก์ชัน f(x)

\frac{d}{dx} F(x)= f(x)

หาเรา integrate f(x) จะได้ F(x) + c

\int f(x) dx = F(x) + c

โดยที่

  • เครื่องหมาย ∫ คือเครื่องหมาย Integral
  • dx คือ ตัวที่บอกว่ามันย้อนการ diff ที่เทียบกับ dx มา
  • c คือค่าคงที่ (Constant) ซึ่งเดี๋ยวอ่านต่อข้างล่างจะรู้ว่าทำไมต้องใส่ +c ด้วย

เช่น ตอนเรียนเรื่อง Derivative เราเรียนรู้ไปว่า

\frac{d}{dx} x^n= nx^{n-1}

ดังนั้น ตอน Integrate จะกลับกันเป็นแบบนี้

\int nx^{n-1} dx = x^n + c

เช่น หากถามว่า integrate 3x^2 จะได้เท่าใหร่ ต้องบอกว่า ได้ x^3 +c เพราะสามารถเป็นไปได้หลายแบบเช่น

  • x^3 เฉยๆ
  • x^3 +5 ก็ได้
  • x^3 – 2 ก็ได้
  • จะเห็นว่า c จะเป็นค่าคงที่อะไรก็ได้นั่นเอง

ดังนั้นนี่คือสาเหตุที่เราต้องใส่ +c ไว้ในรูปสมการทั่วไปด้วย ซึ่งหลายๆ คนจะลืม +c ตลอด ถึงขนาดมีการทำ meme มาล้อประจำ

เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 1
อย่าลืม +c ด้วยนะ แงๆๆๆ
เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 2
meme อันนี้อย่างเท่เลย

ความหมายที่แท้จริงของการ Integrate

หากการหาอนุพันธ์ได้อัตราการเปลี่ยนแปลง ของกราฟ เช่น

หากเรา Diff เทียบต่อเวลา เราจะแปลงระยะทาง เป็นความเร็ว เป็นความเร่ง ได้

ระยะทาง --> ความเร็ว --> ความเร่ง

ดังนั้นถ้าเรา Integrate เทียบกับเวลา เราก็สามารถย้อนกลับได้เช่นกัน

ความเร่ง --> ความเร็ว --> ระยะทาง

สมมติว่าเรารู้ฟังก์ชันของความเร็วของ รถวิเศษที่เรานั่ง ณ เวลาต่างๆ เป็นดังนี้

เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 3

หาถามว่าเมื่อเวลาผ่านไป 10 วินาที รถวิเศษวิ่งไปได้ระยะทางไกลกี่เมตร? เราจะหาคำตอบยังไง??

แน่นอนว่าถ้าเราวิ่งด้วยความเร็วคงที่ตลอดที่ 5 m/s ถ้าวิ่งแบบนี้ไป 10 วินาที ก็คือ 5 m/s *10 s = 50 m จริงมั้ยครับ ซึ่งเอาจริงๆ มันก็คือการหาพื้นที่ใต้กราฟนั่นเอง

ถ้าเราถามว่า ระหว่างวินาทีที่ 2 ถึง 8 วิ่งได้ระยะทางเท่าไหร่ เราก็หาพื้นที่ใต้กราฟเฉพาะวินาทีที่ 2-8

เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 4

เรื่องของเรื่องคือ เจ้าพื้นที่ใต้กราฟเนี่ย หาเจ้าเส้นฟังก์ชันของความเร็วมันดันไม่ใช่เส้นตรงทื่อๆ มันจะคำนวณยากแล้ว เช่นแบบนี้

สมมติฟังก์ชันของความเร็วเป็น v= 3t^2+5 เราจะหาพื้นที่ใต้กราฟของเส้นโค้งนี่ได้ยังไง???

เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 5

แนวคิดก็คือ เราจะแบ่งพื้นที่ใต้กราฟเป็นสี่เหลี่ยมผืนผ้าเล็กๆ แล้วเอามารวมกัน เช่น

เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 6

หลักการ คือ ถ้าเราแบ่งสี่เหลี่ยมให้แคบๆ มากๆๆๆๆ (เรียกว่า dt ละกัน) การหาพื้นที่ย่อยๆ (ds) จะได้ว่า

พื้นที่ย่อยสี่เหลี่ยมผืนผ้า ds = สูง*กว้าง = v(t)*dt

ส่วน พื้นที่รวม เราจะใช้การ integreate มาช่วย เพราะเป็นการรวมแบบที่ dt เล็กมากๆๆ เข้าใกล้ 0 นั่นเอง

Total Area = \int v(t)dt

อย่าลืมว่า integrate ความเร็ว จะได้ ระยะทาง ซึ่งเราคิดไว้แล้วว่าพื้นที่ใต้กราฟของความเร็วคือระยะทาง นั่นแปลว่า integrate ก็คือพื้นที่ใต้กราฟนั่นเอง! (แต่พื้นที่ใต้กราฟสามารถมีส่วนเหนือแกน x เป็น +, ใต้แกน x เป็น – ได้ด้วยนะ ซึ่ง integrate แล้วจะ net หักกัน)

สรุปแนวคิด

หากเราจะเปรียบเทียบความหมายของการหาอนุพันธ์ vs การอินทิเกรต จะเป็นแบบนี้ครับ

  • การหาอนุพันธ์ นั้น เราจะได้อัตราการเปลี่ยนแปลง หรือ ความชันของกราฟ ของจุดที่สนใจ
  • การอินทิเกรต นั้น เราจะได้พื้นที่ใต้กราฟ (แบบ net กัน ระหว่างพื้นที่บน กับ ล่าง)

การคำนวณหาระยะทางด้วยความรู้ Integrate

สมมติ v(t)= 3t^2+5

แบบนี้ระยะทาง s ก็คือ

s(t) = \int v(t)dt = \int (3t^2+5 )dt

จะได้ว่า ระยะทาง s ณ วินาที่ที่ t คือแบบนี้

s(t) = t^3+5t+c

ถ้าจะหาระยะทางตั้งแต่วินาทีที่ 2-8 ให้ใส่ t เป็น 8 จะได้ระยะทาง ณ วินาทีที่ 8, และใส่ t เป็น 2 ได้ระยะทางวินาทีที่ 2

จากนั้นเอามาลบกัน

  • ระยะทาง วินาทีที่ 8 =8^3 + 5*8 + c
  • ระยะทาง วินาทีที่ 2 =2^3 + 5*2 + c
  • ระยะทาง วินาทีที่ 2 ถึง 8 =(8^3 + 5*8 + c) – (2^3 + 5*2 + c)
  • ซึ่ง +c จะตัดกันเสมอ
  • = 534 นั่นเอง

แปลว่า ระยะทาง หลังวิ่งไป 10 วินาที ก็จะได้เป็น ระยะทาง วินาทีที่ 10 – ระยะทาง วินาทีที่ 0

  • ระยะทาง วินาทีที่ 10 =10^3 + 5*10 + c
  • ระยะทาง วินาทีที่ 0 =0^3 + 5*0 + c
  • ระยะทาง วินาทีที่ 0 ถึง 10 =(10^3 + 5*10 + c) – (0^3 + 5*0 + c) ซึ่ง +c จะตัดกันเสมอเช่นกัน
  • แปลว่าเราใช้ระยะทางวินาทีที่ 10 ได้เลย แบบไม่ต้องมี + c เนอะ
  • = 10^3 + 5*10 = 1050 m นั่นเอง

การคำนวณหาระยะทางด้วยความรู้ Excel

ถ้าใช้ Excel เราแค่แบ่งระยะเวลาให้ย่อยมากๆ จนได้ dt เล็กๆๆๆๆ แล้วเอาไปคูณความเร็วของแต่ละ dt นั้นๆ ก็จะได้พื้นที่สี่เหลี่ยมผืนผ้าเล็กๆ จากนั้นเอาสี่เหลี่ยมผืนผ้าเล็กๆ มารวมกันก็จะได้พื้นที่ใต้กราฟ เช่น

เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 7

ซึ่งจะได้ 1050.0155 ซึ่งใกล้เคียงกับ 1050 แต่ไม่เป๊ะหรอกนะ เพราะ dt เราไม่ได้เล็กพอ (แค่นี้ก็อัดไปแสนบรรทัดแล้ว)

และนี่ก็คือ Concept ของการ Integrate ครับ หวังว่าเพื่อนๆ จะพอเห็นภาพนะ

ความรู้แถม : ถ้าไม่อยากเสียพื้นที่ Excel ในการทำตาราง

ถ้าเราไม่อยากมานั่งทดบรรทัดเยอะๆ แบบตารางข้างบนนี้ (เป็นแสนเป็นล้านบรรทัด แถมช้าอีก) ก็ใช้ความรู้ Array Formula หรือ Power Query มาช่วยก็ได้ (อันนี้ค่อนข้าง Advance นะ ใครไม่รู้เรื่องไม่เป็นไรครับ) เช่น

ใช้ความรู้ Array Formula ของ Excel 365

อยากหาระยะทาง ณ เวลา 2 วินาที

ใช้ SEQUENCE สร้างเลข Running ระยะเวลา เช่น

=SEQUENCE(rows,columns,start,step)
=SEQUENCE(A2/E1+1,1,0,E1)
เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 8

ต่อไปก็คำนวณ v ออกมาจาก v(t)= 3t^2+5 ได้

=3*SEQUENCE(A2/E1+1,1,0,E1)^2+5
เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 9

ต่อไปเอาไปคูณกับ dt 0.0001 แล้วหาผลรวม

=SUM((3 * SEQUENCE(A2/E1+1,1,0,E1)^2+5) * E1)

lock $ เล็กน้อย ให้ copy สูตรได้

=SUM((3 * SEQUENCE(A2/$E$1+1,1,0,$E$1)^2+5) * $E$1)
เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 10

ใช้ Array Formula ของ Excel verison เก่า

Excel เก่าไม่มี SEQUENCE สามารถใช้ ROW+INDIRECT มาพลิกแพลงเอา เช่น

=(ROW(INDIRECT("1:"&A2/E1+1))-1)*E1

version เก่าจะไม่มี effect spill แบบนี้ แต่ไม่เป็นไร เดี๋ยวจะทำ step ต่อไปได้อยู่ดี

เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 11

Tips : การใช้ฟังก์ชัน INDIRECT นั้นเป็น Volatile ฟังก์ชัน ถ้าเลี่ยงได้ก็ควรจะเลี่ยง ดังนั้นเราสามารถใช้ฟังก์ชัน INDEX มาช่วยสร้าง Dynamic Range แทนได้ แล้วค่อยใช้ ROW ครอบ เช่น

=(ROW(A1:INDEX(A:A,A2/E1+1))-1)*E1
เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 12

จากนั้น lock $ ซะหน่อยเป็นแบบนี้

=(ROW($A$1:INDEX($A:$A,A2/$E$1+1))-1)*$E$1

สุดท้ายก็เหมือนกัน แต่ใช้ SUMPRODUCT มารวมเลยดีกว่า จะไม่ได้ต้องกด Ctrl+Shift+Enter

=SUMPRODUCT((3 * ((ROW($A$1:INDEX($A:$A,A2/$E$1+1))-1)*$E$1)^2+5) * $E$1)
เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 13

ใช้ความรู้ Power Query มาสร้างฟังก์ชัน

สร้าง Parameter secPara ว่าจะเอา ณ เวลาวินาทีที่เท่าไหร่

จากนั้นสร้าง Query MyArea มาคำนวณพื้นที่รวม โดยอ้างอิงถึง Parameter secPara ที่สร้างไว้

let
    dt=0.0001,
    NumItem = secPara/dt+1,
    Source = List.Numbers(0, NumItem,  dt), //สร้าง Sequence ด้วย List.Number
    ConvertTable = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    RenameColumns = Table.RenameColumns(ConvertTable,{{"Column1", "MyTime"}}),
    AddVel = Table.AddColumn(RenameColumns, "MyVel", each 3*Number.Power([MyTime],2)+5),
    AddArea = Table.AddColumn(AddVel, "SmallArea", each [MyVel]*dt),
    SumArea = List.Sum(AddArea[SmallArea])
in
    SumArea

แล้วเอา Query นี้แปลงเป็นฟังก์ชันโดยคลิ๊กขวา Create Function แล้วใช้ชื่อ MyAreaFx ซึ่งรับ input คือ secPara ว่าจะคำนวณระยะทาง ณ วินาทีที่เท่าไหร่

จากนั้นเราก็เอา Table ที่ต้องการหาระยะทาง ณ เวลาต่างๆ เข้าไป แล้วเรียกใช้ฟังก์ชัน MyAreaFx ที่สร้างไว้ ก็จบเลย

เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 14
เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง 15

ตอนต่อไป

เดี๋ยวตอนหน้าจะเป็นการประยุกต์มากขึ้นอีกหน่อยนะ เช่น คำนวณหาจุดสูงสุดต่ำสุดด้วยการใช้ Diff หรือคำนวณหาปริมาตร ด้วยการ Integrate เป็นต้น

สารบัญ Calculus