ชีวประวัติ ลักษณะเฉพาะ การวิเคราะห์

วิธีการทำแบบแบ่งครึ่งใน excel ปรับแต่งรูทด้วยการวนซ้ำอย่างง่าย

วิธีการปรับแต่งราก

หลังจากพบช่วงเวลาที่มีรูทแล้วให้ใช้ วิธีการวนซ้ำการปรับแต่งรูทด้วยความแม่นยำที่กำหนด

วิธี แบ่งครึ่ง (ชื่ออื่น: วิธีแบ่งสองส่วน, วิธีการแบ่งขั้ว) เพื่อแก้สมการ (x) = 0 เป็นดังนี้ ให้รู้ว่าฟังก์ชันนั้นต่อเนื่องและรับที่ส่วนท้ายของเซ็กเมนต์
[เอ, ] ค่าของสัญญาณต่าง ๆ จากนั้นรูทจะอยู่ในช่วงเวลา ( เอ, ). เราแบ่งช่วงเวลาออกเป็นสองส่วนแล้วพิจารณาครึ่งที่ปลายซึ่งฟังก์ชันใช้ค่าของสัญญาณต่างๆ เราแบ่งส่วนใหม่นี้ออกเป็นสองส่วนเท่าๆ กัน และเลือกส่วนที่ประกอบด้วยราก กระบวนการนี้จะดำเนินต่อไปจนกว่าความยาวของส่วนถัดไปจะน้อยกว่าค่าความผิดพลาดที่กำหนด การอธิบายที่เข้มงวดยิ่งขึ้นของอัลกอริทึมวิธีแบ่งสองส่วน:

1) คำนวณ x = (เอ+ )/2; คำนวณ (x);

2) ถ้า (x) = 0 จากนั้นไปที่ข้อ 5;

3) ถ้า (x)∙(เอ) < 0, то = x, มิฉะนั้น เอ = x;

4) ถ้า | เอ| > ε ไปที่จุดที่ 1;

5) มูลค่าการส่งออก x;

ตัวอย่าง 2.4.ปรับแต่งโดยวิธี bisection ด้วยความแม่นยำ 0.01 รูทของสมการ ( x– 1) 3 = 0 ที่อยู่ในกลุ่ม .

โซลูชันในโปรแกรม เก่ง:

1) ในเซลล์ อา 1:F 4 เราแนะนำสัญกรณ์ ค่าเริ่มต้นและสูตรดังแสดงในตารางที่ 2.3

2) เราคัดลอกแต่ละสูตรลงในเซลล์ด้านล่างด้วยเครื่องหมายเติมจนถึงบรรทัดที่สิบนั่นคือ บี 4 - ก่อน บี 10, 4 - ก่อน 10, ดี 3 - ก่อน ดี 10, อี 4 - ก่อน อี 10, F 3 - ก่อน F 10.

ตารางที่2.3

อา บี ดี อี F
ฉ(ก)= =(1-B3)^3
k เอ x เอฟ(x) ข-a
0,95 =(B3+E3)/2 =(1-C3)^3 1,1 =E3-B3
=IF(D3=0,C3, IF(C$1*D3 .)<0;B3;C3)) =IF(C$1*D3>0, E3,C3)

ผลการคำนวณแสดงไว้ในตาราง 2.4. ในคอลัมน์ Fการตรวจสอบค่าความยาวช่วง เอ. หากค่าน้อยกว่า 0.01 จะพบค่าโดยประมาณของรูทที่มีข้อผิดพลาดที่ระบุในบรรทัดนี้ ต้องทำซ้ำ 5 ครั้งเพื่อให้ได้ความแม่นยำที่ต้องการ ค่าโดยประมาณของรูทเป็นภายใน 0.01 หลังจากปัดเศษเป็นทศนิยมสามตำแหน่งคือ 1.0015625 ≈ 1.00

ตาราง 2.4

อา บี ดี อี F
ฉ(ก)= 0,000125
k เอ x เอฟ(x) ข-a
0,95 1,025 -2E-05 1,1 0,15
0,95 0,9875 2E-06 1,025 0,075
0,9875 1,00625 -2E-07 1,025 0,0375
0,9875 0,996875 3.1E-08 1,00625 0,0187
0,996875 1,0015625 -4E-09 1,00625 0,0094
0,996875 0,9992188 4.8E-10 1,0015625 0,0047
0,99921875 1,0003906 -6E-11 1,0015625 0,0023
0,99921875 0,9998047 7.5E-12 1,000390625 0,0012


อัลกอริธึมข้างต้นคำนึงถึงกรณีที่เป็นไปได้ของ "การกดปุ่มรูท" เช่น ความเท่าเทียมกัน (x) ให้เป็นศูนย์ในขั้นตอนต่อไป หากในตัวอย่าง 2.3 เราใช้ส่วน จากนั้นในขั้นแรกเราจะไปที่รูท x= 1 แน่นอนเราเขียนในเซลล์ บี 3 ค่า 0.9. จากนั้นตารางผลลัพธ์จะอยู่ในรูปแบบ 2.5 (มีการวนซ้ำ 2 ครั้งเท่านั้น)

ตาราง 2.5

อา บี ดี อี F
ฉ(ก)= 0,001
k เอ x เอฟ(x) ข-a
0,9 1,1 0,2

มาสร้างในโปรแกรมกันเถอะ เก่งฟังก์ชันที่ผู้ใช้กำหนด f(x) และ bisect (a, b, eps) เพื่อแก้สมการด้วยวิธีการแบ่งครึ่งโดยใช้ภาษาในตัว Visual Basic. คำอธิบายของพวกเขาได้รับด้านล่าง:

ฟังก์ชัน f(Byval x)

ฟังก์ชั่นแบ่งครึ่ง (a, b, eps)

1 x = (a + b) / 2

ถ้า f(x) = 0 แล้วไปที่ 5

ถ้า f(x) * f(a)< 0 Then

ถ้า Abs(a - b) > eps จากนั้นไปที่ 1

ฟังก์ชัน f(x) กำหนดด้านซ้ายของสมการ และฟังก์ชัน
bisect(a, b, eps) แบ่งครึ่งรากของสมการ (x) = 0. โปรดทราบว่าฟังก์ชัน bisect(a, b, eps) ใช้การเรียกฟังก์ชัน f(x) นี่คืออัลกอริทึมสำหรับการสร้างฟังก์ชันที่ผู้ใช้กำหนด:

1) ดำเนินการคำสั่งเมนู "เครื่องมือ - Macro - Editor Visual Basic". หน้าต่าง " Microsoft Visual Basic". ถ้าใน ไฟล์ที่ให้มาโปรแกรม เก่งยังไม่ได้สร้างมาโครหรือฟังก์ชันหรือขั้นตอนที่ผู้ใช้กำหนดเอง หน้าต่างนี้จะมีลักษณะเหมือนที่แสดงในรูปที่ 2.4

2) ดำเนินการคำสั่งเมนู "แทรก - โมดูล" และป้อนข้อความของโปรแกรมฟังก์ชันดังแสดงในรูปที่ 2.5

ตอนนี้อยู่ในเซลล์ของแผ่นงานโปรแกรม เก่งคุณสามารถใช้ฟังก์ชันที่สร้างขึ้นในสูตรได้ ตัวอย่างเช่น ให้ป้อนในเซลล์ ดี 18 สูตร

แบ่งครึ่ง(0.95;1;0.00001),

แล้วเราจะได้ค่า 0.9999933896

ในการแก้สมการอื่น (ด้วยด้านซ้ายต่างกัน) คุณต้องไปที่หน้าต่างตัวแก้ไขโดยใช้คำสั่ง "Tools - Macro - Editor Visual Basic» และเพียงแค่เขียนคำอธิบายของฟังก์ชัน f(x) ใหม่ ตัวอย่างเช่น ลองหาด้วยความแม่นยำ 0.001 รากของสมการ sin5 x+x 2 - 1 = 0 ซึ่งเป็นของช่วง (0.4; 0.5) เมื่อต้องการทำสิ่งนี้ ให้เปลี่ยนคำอธิบายของฟังก์ชัน

สู่คำอธิบายใหม่

f = บาป (5 * x) + x^2 - 1

จากนั้นในเซลล์ ดี 18 เราได้รับค่า 0.441009521 (เปรียบเทียบผลลัพธ์นี้กับค่าของรูทของช่วงเวลา (0.4; 0.5) ที่พบในตัวอย่าง 2.3!)

ในการแก้สมการโดยวิธีหารครึ่งในโปรแกรม Mathcadสร้างรูทีนย่อยของฟังก์ชัน bisec(, เอ, , ε) โดยที่:

ฉ-ชื่อฟังก์ชันที่ตรงกับด้านซ้ายของสมการ (x) = 0;

เอ, - ปลายด้านซ้ายและขวาของส่วน [ เอ, ];

ε คือความแม่นยำของค่าโดยประมาณของรูท

เฉลยตัวอย่างในโปรแกรม Mathcad:

1) เรียกใช้โปรแกรม มัทแคด.เราแนะนำคำจำกัดความของฟังก์ชัน bisec(, เอ, , ε). ในการทำเช่นนี้ เราพิมพ์ .โดยใช้แป้นพิมพ์และแถบเครื่องมือสัญลักษณ์กรีก bisec(, เอ, , ε):=. หลังจากเครื่องหมายกำหนด ":=" บนแถบเครื่องมือ "การเขียนโปรแกรม" ให้คลิกปุ่มซ้าย "เพิ่มบรรทัด" ด้วยตัวชี้เมาส์ เส้นแนวตั้งจะปรากฏขึ้นหลังป้ายมอบหมาย จากนั้นป้อนข้อความของโปรแกรมที่แสดงด้านล่างโดยใช้แถบเครื่องมือ "การเขียนโปรแกรม" เพื่อป้อนเครื่องหมาย "←" ซึ่งเป็นตัวดำเนินการลูป ในขณะที่, โอเปอเรเตอร์ หยุดพักและตัวดำเนินการตามเงื่อนไข หากเป็นอย่างอื่น.

2) เราแนะนำคำจำกัดความของฟังก์ชัน (x):=sin(5*x)+x^2–1 แล้วคำนวณค่าของรูทโดยใช้ฟังก์ชัน bisecที่ setpoints:
bisec(, –0.8,–0.7,0.0001)=. หลังจากเครื่องหมาย “=” ค่ารูทที่โปรแกรมคำนวณจะปรากฏขึ้นโดยอัตโนมัติ -0.7266601563 เราคำนวณส่วนที่เหลือของรากด้วยวิธีเดียวกัน

ด้านล่างเป็นแผ่น Mathcadด้วยคำจำกัดความของฟังก์ชัน bisec(, เอ, , ε) และการคำนวณ:

เรานำเสนอโปรแกรมในภาษา ++เพื่อแก้สมการ (x) = 0 โดยวิธีสองส่วน:

#รวม

#รวม

ดับเบิ้ล f(ดับเบิ้ล x);

typedef สองเท่า (*PF) (สองเท่า);

bisec สองเท่า (PF f, double a, double b, double eps);

ดับเบิล a, b, x, eps;PF pf;

ศาล<< "\n a = "; cin >>a;

ศาล<< "\n b = "; cin >>ข;

ศาล<< "\n eps = "; cin >>eps;

x = ครึ่งวินาที(pf,a,b,eps); ศาล<< "\n x = " << x;

ศาล<< "\n Press any key & Enter "; cin >>a;

ดับเบิ้ลเอฟ(ดับเบิ้ล x)(

r = บาป (5*x)+x*x-1;

double bisec(PF f, double a, double b, double eps)(

ทำ( x = (a + b)/2;

ถ้า (f(x) == 0) แตก;

ถ้า (f(x)*f(ก)<0) b = x;

) ในขณะที่ (fabs(b-a) > eps);

ฟังก์ชันในโปรแกรม (x) ถูกกำหนดให้แก้สมการ

บาป5 x+x 2 – 1 = 0

จากตัวอย่าง 2.3 ผลลัพธ์ของโปรแกรมสำหรับกำหนดรูทของช่วงเวลา (0.4; 0.5) ด้วยความแม่นยำ 0.00001 แสดงไว้ด้านล่าง (หน้าจอคอมพิวเตอร์):

กดปุ่มใดก็ได้ & Enter

บรรทัดสุดท้ายจำเป็นต้องหยุดชั่วคราวเพื่อดูผลลัพธ์

อัลกอริธึมส่วนใหญ่ในการค้นหารากของสมการทำให้สามารถค้นหารูทได้เพียงรากเดียวในช่วงเวลาที่กำหนด วิธีการที่รู้จักกันดีที่สุด ได้แก่ วิธีการ:

  • วิธี ทำซ้ำง่าย ๆ
  • วิธีการของนิวตัน
  • แก้ไขวิธีการของนิวตัน
  • วิธีการของ Rybakov
  • วิธีการแบ่งขั้ว
  • วิธีการประมาณคาสเคด
  • วิธีคอร์ด
  • รวมวิธีคอร์ดซีแคนต์
  • วิธี Aitkin–Steffenson
  • วิธีการแก้ไขแบบผกผันกำลังสอง - การอนุมาน ฯลฯ

จำนวนของวิธีการในการค้นหารากมีขนาดใหญ่ เช่นเดียวกับอัลกอริธึมการเรียงลำดับต่างๆ

ฉันได้พิจารณาวิธีการแบ่งขั้วที่นำมาจากไฟล์ MM6.PDF ดูตัวอย่างโค้ด แต่งโดยใช้โอเปอเรเตอร์ Go TO ที่เก่าแต่เป็นที่รัก จากมุมมองของการเขียนโปรแกรมแบบมีโครงสร้าง การใช้ตัวดำเนินการดังกล่าวเป็นสิ่งที่ยอมรับไม่ได้ แต่มีประสิทธิภาพ ในวรรณคดี บันทึกย่อนี้มาพร้อมกับการอ้างอิงถึงวัสดุที่ค้นพบเป็นพิเศษ ซึ่งรวมถึงหนังสืออ้างอิงของอัลกอริธึมของ Dyakonov กาลครั้งหนึ่งมันเป็นเดสก์ท็อปของฉัน BASIC เวอร์ชันเก่าเต็มไปด้วยคำสั่ง Go TO BASIC เวอร์ชันเก่ายังใช้ตัวดำเนินการกำหนด LET

BASIC มีหลายเวอร์ชัน ฉันเคยต้องแปลโปรแกรมจากเวอร์ชันหนึ่งเป็นอีกเวอร์ชันหนึ่งบ่อยครั้ง และเป็นครั้งแรกที่ฉันได้พบกับ BASIC รุ่นหนึ่งในปี 1980 ที่สถาบันธรณีฟิสิกส์ที่เราไปเยี่ยมกับเพื่อนของพี่ชายของเขา เขามีส่วนร่วมในวิธีการเรโซแนนซ์นิวเคลียร์แบบแม่เหล็ก การคำนวณทั้งหมดสำหรับการประมวลผลผลลัพธ์ของการทดลองดำเนินการโดยใช้มินิคอมพิวเตอร์ที่ผลิตในต่างประเทศและในภาษาพื้นฐาน จากนั้นภาษานี้ก็ปรากฏใน Iskra-226 ซึ่งค่อนข้างทรงพลังในขณะนั้นและใน BK-10 ที่มีชื่อเสียงซึ่งถูกใช้มาตั้งแต่กลางทศวรรษที่ 80 ในห้องเรียนในโรงเรียน ในปี 1983-1984 ใน Kharkov ฉันเห็นพีซีเครื่องแรก เธอมีฟลอปปีไดรฟ์เพียง 2 ไดรฟ์สำหรับฟลอปปีดิสก์ 2 ประเภทที่แตกต่างกันและมีความจุหน่วยความจำประมาณ 560 MB และ Forth เป็นภาษาการเขียนโปรแกรมหลัก นี่คือภาษาของสแต็ค ซึ่งถูกใช้อย่างประสบความสำเร็จในการควบคุมกล้องโทรทรรศน์วิทยุ ในภาษานี้ มีการใช้กราฟิกอย่างง่าย

อัลกอริธึมการเรียงลำดับหลักและวิธีการคำนวณทั้งหมดถูกนำมาใช้ในกรณีส่วนใหญ่สำหรับภาษา ALGOL และ FORTRAN ในช่วงกลางทศวรรษที่ 50

ตอนนี้สำหรับตัวอย่าง มีคำตอบของ 2 สมการที่แตกต่างกัน สมการแรกคือ X*X-5*SIN(X) แน่นอน ไซน์เปลี่ยนจาก -1 เป็น +1 ดังนั้น 5*sine จึงเปลี่ยนจาก -5 เป็น +5 สี่เหลี่ยม X เติบโตเร็วกว่ามาก ดังนั้นจึงสามารถสันนิษฐานได้ว่ารากจะอยู่ในช่วงประมาณ 0 หรือ 2 สำหรับค่า X รอบ ๆ ทางที่ดีควรพล็อตกราฟก่อนเพื่อวิเคราะห์ช่วงที่รากตั้งอยู่ กราฟแสดงให้เห็นว่าควรมี 2 ราก ในตัวอย่าง เราพบเพียงรากเดียวเนื่องจากเรากำหนดช่วงเวลาหนึ่งไว้

ในสมการที่สอง X*X*X-X+1 เราจะเห็นพาราโบลาลูกบาศก์ที่มีรากใกล้ -1

คุณสามารถแทนที่สมการของคุณในแมโครได้ เป็นไปได้ไหมที่จะเขียนโปรแกรมโดยไม่มีคำสั่ง GOTO? - ใช่ คุณอาจจะได้

เอ

คำถาม: การหารากของสมการโดยการหารส่วนครึ่งหนึ่ง


สวัสดีตอนบ่าย เกิดอะไรขึ้นกับรูทที่ 3 มันไม่ต้องการให้แสดง ด้านบน - 3 รูทผ่านการเลือกพารามิเตอร์ ด้านล่าง - โดยวิธีการแบ่งครึ่ง การปัดเศษ 0.001 สมการ x^3-2*x^2-x+2 ใครช่วยแก้ไขหรือให้คำแนะนำที่เป็นประโยชน์ได้ ผิดอย่างไร?

ตอบ: furymaxim, วงเล็บหายไป

คำถาม: การถอดรหัส Playfair ใน MS Excel


โปรดบอกวิธีสร้างตัวถอดรหัสใน EXCEL โดยใช้สูตร หรือบอกฉันว่าสูตรใดที่ใช้สร้างตัวอักษรได้

ตอบ:ในเซลล์ A1

รหัส
1 = CHAR(192 + STRING() - 1 )

และยืดตัวลง

คำถาม: ไฟล์สเปรดชีต Excel ทำงานช้าลง


ขอให้เป็นวันที่ดีเพื่อนร่วมงานที่รัก!
ฉันต้องการความช่วยเหลือจากคุณจริงๆ ฉันได้ลองใช้วิธีการทั้งหมดที่พบและรู้จักเพื่อลดขนาดไฟล์แล้ว ดูเหมือนว่าจะได้ล้างทุกสิ่งที่ไม่จำเป็นออกไป
อย่างไรก็ตามสิ่งนี้เมื่อทำงานกับโต๊ะจะมีเบรกและค้างและตัวแปรเหล่านี้มีความเสถียร (บางครั้งก็ช้าลงบางครั้งก็ไม่ช้าลง)
สำหรับฉันดูเหมือนว่านี่อาจเป็นเพราะรายการดรอปดาวน์ที่มีรูปถ่าย ฉันสังเกตเห็นว่าเมื่อรายการดรอปดาวน์ที่มีรูปถ่ายเพิ่มขึ้น เบรกก็เพิ่มขึ้นเช่นกัน แต่น่าแปลกที่โต๊ะทั้งหมดมีขนาดเล็ก แกลลอรี่ที่มีรูปภาพก็ไม่ใหญ่เช่นกัน

ตอบ:แก้ไขปัญหา! เพิ่งติดตั้ง excel 2016 สำหรับ mac - ไม่กระตุกเลย จนถึงตอนนี้ทุกอย่างทำงานได้ดี แต่ไม่แน่ใจว่าฉันจะไม่เจอสิ่งนี้อีกหรือไม่!
อย่างไรก็ตามปัญหามีความเกี่ยวข้องเพราะ วิธีแก้ปัญหาไม่ได้เกิดจากการติดตั้ง excel เวอร์ชันอื่น บางทีคนอื่นอาจมีประโยชน์
ป.ล. excel รุ่นก่อนหน้าคือปี 2011 สำหรับ mac

ถาม: Office 2007 จะติดตั้ง excel 2010 ได้อย่างไร


สวัสดีทุกคน.
บางทีหัวกระทู้อาจไม่ตรงประเด็น...
ฉันมี win xp sp3 office 2007 และ excel 2007
ใน excel 2010 หรือ 2013 มีฟังก์ชันแผนภูมิในรูปแบบของแผนที่ powerview ของประเทศหรือทวีปหรืออะไรก็ตาม การ์ดถังขยะยังใช้อยู่
มีส่วนเสริมใด ๆ สำหรับ excel2007 เพื่อให้ไดอะแกรมดังกล่าวสามารถเป็นได้ ถ้าไม่มี ซึ่ง excel มีฟังก์ชันนี้และสามารถติดตั้ง 2 excel บนคอมพิวเตอร์ 1 เครื่องได้หรือไม่ ตัวอย่างเช่น 2007 และ 2010 บน win xp sp3 หากฟังก์ชั่นของแผนภูมิพร้อมแผนที่ประเทศอยู่ใน 2010 ????
ขอบคุณ.

ตอบ:ดังนั้นและในปี 2010 excel คืออะไร?? และถ้าเป็นเช่นนั้นจะติดตั้ง excel 2010 ได้อย่างไรโดยไม่ต้องลบ office 2007 ของฉัน?

เพิ่มหลังจาก 3 ชั่วโมง 10 นาที
schA ดูหัวข้อที่คล้ายกัน พบเกี่ยวกับ libreoffice โปรแกรมเช่น office นั้นฟรีเท่านั้น MB ใครมีแผนที่สาธารณรัฐเบลารุสสำหรับรายการนี้บ้าง????. มีส่วนขยาย geoOOo

คำถาม: รับการเลือกจาก Excel


ฉันต้องการสร้างงานนำเสนอ PowerPoint ตามข้อมูลจากไฟล์ Excel

ไม่เคยร่วมงานกับใครมาก่อน ดังนั้นตรวจสอบอัลกอริทึม (โครงร่าง):
ฉันได้รับการเลือกที่จำเป็นโดยใช้แบบสอบถาม
ฉันเชื่อมโยงผลลัพธ์ของการเลือกกับเทมเพลต (ฉันยังไม่ได้อ่านวิธีสร้างงานนำเสนอโดยทางโปรแกรม)
ฉันกำลังสร้างงานนำเสนออยู่
และฉันเขียนทั้งหมดนี้ในแมโคร

1. ลำดับถูกต้องหรือไม่?
2. ฉันจะทำงานกับข้อมูลที่ได้รับโดยใช้คำขอได้อย่างไร เขียนไว้ชั่วคราว ผลลัพธ์ของแต่ละคำขอในชีตแยกต่างหาก และหลังจากสร้างไฟล์นำเสนอแล้ว ให้ปิดไฟล์ Excel โดยไม่มีการเปลี่ยนแปลงหรือไม่ หรือแตกต่างกันอย่างไร?
3. จะเขียนคำขอดังกล่าวได้อย่างไร?
ร่างของฉันไม่ทำงาน:

การเขียนผลลัพธ์การสืบค้นจากแผ่นงานแรกไปยังแผ่นงานที่สอง
4. วิธีเรียกใช้แบบสอบถามนี้

รหัส Visual Basic
1 DoCmd.RunSQL strSQL

แบบนี้บ้าง?

เพิ่มหลังจาก 2 ชั่วโมง 42 นาที
หรือสามารถทำได้ผ่านฐานข้อมูลชั่วคราวเท่านั้น?

ตอบ:หมายถึงที่นี่? ไปที่ฟอรั่ม? - ได้โปรด ... มันไม่เกี่ยวกับข้อมูล แต่เกี่ยวกับคำขอ (วิธีการประมวลผล) ใน Access ฉันทำได้ ใน Excel ฉันทำไม่ได้ ตัวอย่างเช่น คำนวณยอดขายสำหรับผู้ผลิต 3 รายที่มียอดขายสูงสุด (TOP 3) และสรุปส่วนที่เหลือ เท่าที่ฉันเข้าใจ มันไม่สามารถทำได้โดยอัตโนมัติ... ด้วยมือ - ใช่ คุณทำได้

คำถาม: วิธีเพิ่มชื่อไฟล์แนบของ Outlook ลงใน Excel แล้วบันทึกลงในโฟลเดอร์ที่ระบุ


สวัสดีตอนบ่ายสำหรับปรมาจารย์ Excel ทุกคน

ต้องขอบคุณฟอรัมนี้ ฉันสามารถตั้งค่าเวิร์กโฟลว์ใน Excel ได้ (แม่นยำกว่านั้นคือ การลงทะเบียนจดหมายขาเข้าและขาออก) ในรูปแบบอัตโนมัติไม่มากก็น้อย
ไฟล์แนบมีมาโครหลักดังต่อไปนี้:
1. "First_MailSave" - ​​​​กำหนดจดหมายจากกล่องจดหมาย Outlook
2. "Second_to_template" - ส่งคืนหมายเลขขาเข้าและส่งออกข้อมูลในเทมเพลตเฉพาะ (อนุมัติโดยผู้บริหารในแง่ของความสามารถในการอ่าน)
3. "Completion_Print" - บันทึกแผ่นเทมเพลตในรูปแบบ pdf ในโฟลเดอร์ที่มีหมายเลขขาเข้าและเริ่มพิมพ์
เหล่านั้น. มีความสุขตอนนี้การประมวลผลเต็ม 10 ตัวอักษรใช้เวลา 3-4 นาทีไม่ใช่ 30-40

ปัญหาการจัดการเอกสารแนบ:
1. วิธีไม่กำหนดด้วยตนเอง จำนวนเงินลงทุนในจดหมาย แต่โดยอัตโนมัติด้วยการส่งออกไปยังเซลล์ E4 ของแผ่น "ข้อมูล" จำนวน + 1 (ตัวอักษรเอง)
2. วิธีแสดงรายการทั้งหมดในแผ่น "แม่แบบ" ใน B5 ไฟล์แนบตามชื่อ
3. จะเพิ่มอะไรในมาโคร "Finish_Print" เพื่อให้ ไฟล์แนบถูกบันทึกไว้ลงในโฟลเดอร์ที่สร้างขึ้นใหม่ด้วยตัวอักษรนั้นเอง

ข้อมูลทั้งหมดนำมาจากจดหมาย แต่แนบไฟล์มาไม่ทราบวิธี (ดูรหัส)

รหัส Visual Basic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 Sub First_MailSave() Application.EnableEvents = False Dim oOutlook As New Outlook.Application Dim oNamespace As Outlook.Namespace Dim myFolder As Outlook.Folder Dim myMail เป็น Outlook.Items Dim myItem เป็น Outlook.MailItem Dim r Set oNamespace = oOutlook.GetNamespace (" มาพี" ) "โฟลเดอร์ใน Outlook ที่เราบันทึกอีเมล "หากต้องการจดหมายจากโฟลเดอร์ย่อยก็เขียนในรูปแบบต่อไปนี้:ตั้งค่า myMail = myFolder.Items Cells.Clear Cells(3, 2) = "From" "Cells(1, 2) = "E-mail" "Cells (1, 3) = "To" Cells(3, 3) = "Subject" Cells(3, 1) = "Date" Cells(3, 4) = "Mail body" Cells(3, 5) = "Number of Pages" r = 4 For Each myItem In myMail On Error Resume Next Cells() r, 2) = myItem.SenderName " Cells(r, 3) = myItem.To Cells(r, 3) = myItem.Subject Cells(r, 1) = myItem.CreationTime Cells(r, 4) = myItem. Body On ข้อผิดพลาด GoTo 0 r = r + 1 Next Application.EnableEvents = True "ปิดการใช้งานการจัดการเหตุการณ์จบย่อย

การค้นหาบนอินเทอร์เน็ตทั้งหมดอ้างถึงมาโครสำหรับ Outlook แต่ฉันลงทะเบียนและสร้างไดเรกทอรีที่จำเป็นใน excel ตามลำดับ ตัวแปรทั้งหมดในนั้น
ในอีกด้านหนึ่ง ฉันมีคำถามที่แตกต่างกันสามข้อ แต่สำหรับฉันแล้ว ฉันคิดว่าควรใช้ทั้งสามคำถามในมาโครเดียวจะดีกว่า

ขอแสดงความนับถือ Leo

ตอบ:ผลลัพธ์ที่ได้คือเวิร์กโฟลว์ที่สมบูรณ์และเป็นอัตโนมัติ
เพื่อโอนจดหมายพร้อมไฟล์แนบมาที่ excel และ acc. โฟลเดอร์

รหัส Visual Basic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 Sub Ïåðâîå_MailSave() Application.EnableEvents = False Dim oOutlook As New Outlook.Application Dim oNamespace As Outlook.Namespace Dim myFolder As Outlook.Folder Dim myMail As Outlook.Items Dim myItem As Outlook.MailItem Dim = ตั้งค่า olookspace .GetNamespace("MAPI") "GЇG*GЇGЄG* Gў Outlook, G®GІGЄGіG¤G* G±G®GµG°G*G*GїGҐG¬ GЇGЁG±GјG¬G*ตั้งค่า myFolder = oNamespace.GetDefaultFolder(olFolderInbox) "åñëè ГЇГЁГ±ГјГ¬¬ Г*ГіГ¦Г*Г» ГЁГ§ ГўГ «Г®Г¦ГҐГ*Г*îé ГЇГ*ГЇГЄГЁ, ГІГ® çèû GўG*GҐGІG±Gї Gў G±G«GҐG¤GіGѕG№GҐG¬ GўGЁG¤GҐ: ".Folders("webley")).โฟลเดอร์("test")ตั้งค่า myMail = myFolder.Items destinationFolder = "E:\temp\test\Att\" Êîëè÷åñÏâî = 0 ÏîÈ€ГҐГ*Г*Г¬ = "" Cells.Clear Cells (3, 2) = "เซลล์ (1, 2) = "อีเมล" "เซลล์ (1, 3) = "Êîìó"เซลล์(3, 3) = "ปปปป*" เซลล์(3, 1) = "Y„Y*YY*" เซลล์(3, 4) = "G'G®G¤GҐG°G¦G*G*GEGG"เซลล์(3, 5) = "GEG®G"-GўG® G±GІG°G*G*GЁG¶"เซลล์(3, 6) = "จีจี"G®G¦GҐG*GЁGї" r = 4 สำหรับแต่ละ myItem ใน myMail On Error Resume Next ""<<<<<<<<<<<<<<< 3 Гў îäГ*îì >>>>>>>>>>>>>> ตั้งค่า colAttachments = myItem.Attachments colAttachments = colAttachments.Count + 1 สำหรับแต่ละ objAttachment ใน colAttachments MkDir (destinationFolder & myItem.SenderName) destinationFolder1 = (destinationFolder & myItem.SenderName) objAttaFilejnamedAsaveAs ÈìåГ*Г*Г¬ = ÏîÈìåГ*Г*Г¬ & objAttachment.Filename & "; " ถัดไป ""<<<<<<<<<<<<<<<>>>>>>>>>>>>>> เซลล์(r, 2) = myItem.SenderName " Cells(r, 2) = myItem.SenderEmailAddress" Cells(r, 3) = myItem.To Cells(r, 3) = myItem.Subject Cells(r, 1) = myItem.CreationTime Cells(r, 4) = myItem.Body Cells(r, 5) = GEG® G«ГЁГ·ГҐГ±ГІГўГ® Cells(r, 6) = ÏîÈìåГ*Г*Г¬ On Error GoTo 0 r = r + 1 Next Application.EnableEvents = True "îòêГ" ГрІГ*åà îáðГ*áîòó ñîáГ" ГІГЁГїจบย่อย

ตอบ:อย่างเคร่งครัดในโมดูลหนังสือ สมุดงานเล่มนี้ (เล่มนี้)สมุดงานมาโครส่วนตัว ส่วนตัว.xls(xlsb)

Visual Basic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ไพรเวทประกาศฟังก์ชัน LoadKeyboardLayout _ Lib "user32.dll" นามแฝง "LoadKeyboardLayoutA" (_ ByVal pwszKLID As String , _ ByVal ตั้งค่าสถานะตราบเท่าที่) ตราบเท่าที่ Private WithEvents xlApp As Application Private Sub Workbook_Open () ตั้งค่า xlApp = Application End Sub Sub Private xlApp_WorkbookOpen( ByVal Wb As Excel.Workbook) ถ้า LCase(Wb.Name) = "workbookname.xls" จากนั้น LoadKeyboardLayout "00000409" , &H1 Else LoadKeyboardLayout "00000419" , &H1 End ถ้า End Sub

กระทรวงศึกษาธิการและวิทยาศาสตร์ของสหพันธรัฐรัสเซีย

งบประมาณของรัฐบาลกลาง

สถาบันการศึกษา

การศึกษาระดับมืออาชีพที่สูงขึ้น

«ซามารา สเตท

มหาวิทยาลัยสถาปัตยกรรมศาสตร์และการก่อสร้าง»

ภาควิชาคณิตศาสตร์ประยุกต์และวิศวกรรมคอมพิวเตอร์

เก่งและMathcad

คำแนะนำวิธีการ

สำหรับงานห้องปฏิบัติการ

ในสาขาวิชา "คณิตศาสตร์คอมพิวเตอร์"

วิธีแก้ปัญหาไม่ สมการเชิงเส้นในExcel และMathcad: วิธี. พระราชกฤษฎีกา / คอมพ์ , - Samara: SGASU, 20p.

คำแนะนำแบบมีระเบียบได้รับการพัฒนาตามมาตรฐานการศึกษาของรัฐสำหรับการศึกษาสาขาวิชา "คณิตศาสตร์เชิงคำนวณ"

พิจารณาการนำวิธีการเชิงตัวเลขมาใช้ในการแก้สมการไม่เชิงเส้นและระบบสมการใน Excel และ MathCad มีการมอบหมายงานที่หลากหลายสำหรับประสิทธิภาพส่วนบุคคลและคำถามสำหรับการควบคุมตนเองและการทดสอบ

ออกแบบมาสำหรับนักเรียนพิเศษ 230201 - "ระบบสารสนเทศและเทคโนโลยี" ของการศึกษาทุกรูปแบบ

ดุษฎีบัณฑิต น.

Ó , การรวบรวม, 2012

ã SGASU, 2012

1.2 การแยกราก

1.5 วิธีคอร์ด

1.6 วิธีของนิวตัน (แทนเจนต์)

1.7 วิธีผสมผสาน

1.8 วิธีการวนซ้ำ

2.2 การแก้ระบบสมการไม่เชิงเส้นโดยวิธีของนิวตัน

3 งานสำหรับห้องปฏิบัติการ

ห้องปฏิบัติการหมายเลข 1 การแยกรากและเครื่องมือมาตรฐานสำหรับการแก้สมการไม่เชิงเส้น

ห้องปฏิบัติการหมายเลข 2 การเปรียบเทียบวิธีการปรับแต่งรากของสมการไม่เชิงเส้น

ห้องปฏิบัติการหมายเลข 3 การแก้ระบบสมการไม่เชิงเส้น

ห้องปฏิบัติการหมายเลข 4 วิธีการเขียนโปรแกรมสำหรับการแก้สมการและระบบไม่เชิงเส้น

4 คำถามและแบบทดสอบการควบคุมตนเอง


1 การแก้สมการไม่เชิงเส้น

1.1 ข้อมูลทั่วไปเกี่ยวกับการแก้สมการไม่เชิงเส้น

ตามกฎแล้วสมการไม่เชิงเส้นของรูปแบบทั่วไป f(x)=0วิเคราะห์ไม่ได้ก็แก้ไม่ได้ สำหรับปัญหาในทางปฏิบัติ ก็เพียงพอที่จะหาค่าประมาณ xซึ่งในแง่หนึ่งนั้นใกล้เคียงกับคำตอบของสมการที่แน่นอน khtochn.

ในกรณีส่วนใหญ่ การค้นหาวิธีแก้ปัญหาโดยประมาณเกี่ยวข้องกับสองขั้นตอน บน ระยะแรก แยกรูตคือค้นหาส่วนดังกล่าวซึ่งมีหนึ่งรูตเท่านั้น บน ขั้นตอนที่สอง ชี้แจงรูทบนหนึ่งในเซ็กเมนต์เหล่านี้ เช่น ค้นหาค่าด้วยความแม่นยำที่ต้องการ

ความแม่นยำที่ได้รับสามารถประเมินได้ทั้ง "โดยฟังก์ชัน" (ที่จุดที่พบ x, ฟังก์ชั่นใกล้เคียงกับ 0 เพียงพอเช่นเงื่อนไข | ฉ(x)|≤อี, ที่ไหน อีความแม่นยำที่ต้องการตามแกน y) หรือ "โดยอาร์กิวเมนต์" (พบส่วนเล็ก ๆ เพียงพอ [ ข]ซึ่งภายในมีรูทคือ | ข–ก|≤อีx, ที่ไหน อีxต้องการความแม่นยำบนแกน x)

1.2 การแยกราก

การแยกรากสามารถทำได้โดยการรวมกัน กราฟิกและ วิเคราะห์การวิจัยฟังก์ชัน การศึกษาดังกล่าวมีพื้นฐานอยู่บนทฤษฎีบทไวเออร์สตราส ซึ่งต่อเนื่องกันบนเซกเมนต์ [ ข]ฟังก์ชั่น ฉ(x) และตัวเลขใดๆ yซึ่งตรงตามเงื่อนไข ฉ(ก) ≤y≤ฉ(ข), มีจุดในส่วนนี้ xโดยฟังก์ชันจะเท่ากับ y. ดังนั้นสำหรับฟังก์ชันต่อเนื่อง การหาเซกเมนต์ที่จุดสิ้นสุดของฟังก์ชันนั้นก็เพียงพอแล้ว และคุณสามารถมั่นใจได้ว่าเซกเมนต์นี้มีรากของสมการ f(x)=0.

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

ตัวอย่างหาจำนวนเต็ม ทั้งหมดรากของสมการไม่เชิงเส้น y(x)=x3-10x+7=0 a) โดยการสร้างตารางและ b) โดยการสร้างกราฟ ค้นหารากของสมการในส่วนที่เลือกโดยใช้ตัวเลือก "การเลือกพารามิเตอร์" และ "ค้นหาวิธีแก้ปัญหา"

วิธีการแก้มาสร้างตารางใน Excel ที่มีอาร์กิวเมนต์และค่าของฟังก์ชันและสร้างมันขึ้นมา พล็อตกระจาย . รูปที่ 1 เป็นภาพรวมของโซลูชัน

กราฟแสดงให้เห็นว่าสมการมีรากสามรากที่เป็นของกลุ่ม [-4, -3] และ ส่วนเหล่านี้สามารถระบุได้ด้วยการสังเกตการเปลี่ยนแปลงของสัญญาณของฟังก์ชันในตาราง ตามกราฟที่สร้างขึ้น เราสามารถสรุปได้ว่าในส่วนที่ระบุฟังก์ชัน (x) เป็นเสียงเดียวและดังนั้นแต่ละอันจึงมีเพียงหนึ่งรูท

การวิเคราะห์เดียวกันสามารถทำได้ในแพ็คเกจ Mathcad เมื่อต้องการทำเช่นนี้ก็เพียงพอที่จะพิมพ์คำจำกัดความของฟังก์ชัน (x) โดยใช้ตัวดำเนินการมอบหมาย (:=) และแบบแผนธรรมชาติของการดำเนินการทางคณิตศาสตร์และฟังก์ชันมาตรฐาน ตั้งค่าลูปเพื่อเปลี่ยนอาร์กิวเมนต์ เช่น แล้วแสดงตารางค่าฟังก์ชัน (อยู่ในบรรทัดเดียวกัน ด้วยคำสั่ง x= (x)= ) และกราฟ สามารถระบุไซเคิลได้ เช่น ด้วยคำสั่ง x:=-5,-4.5…5 . ขั้นตอนของวงจรเกิดขึ้นจากการตั้งค่าเริ่มต้นและค่าที่ตามมาของตัวแปร และก่อนค่าสุดท้ายของตัวแปร เครื่องหมายอัฒภาคจะถูกวาง ซึ่งจะแสดงบนหน้าจอเป็นจุดไข่ปลา

https://pandia.ru/text/78/157/images/image002_56.jpg" width="640" height="334">

รูปที่ 1 - ตารางและกราฟสำหรับแยกรากของสมการไม่เชิงเส้น

1.3 การปรับแต่งรูทโดยใช้เครื่องมือ Excel และ Mathcad มาตรฐาน

ในวิธีการปรับแต่งรากทั้งหมด จำเป็นต้องตั้งค่าการประมาณเริ่มต้น ซึ่งจากนั้นจะได้รับการขัดเกลา หากสมการมีหลายราก จะพบตัวใดตัวหนึ่งขึ้นอยู่กับค่าประมาณเริ่มต้นที่เลือก ด้วยการประมาณค่าเริ่มต้นที่เลือกไม่สำเร็จ อาจไม่พบวิธีแก้ปัญหา หากเลือกเซกเมนต์ที่มีรูทเดียวของสมการแล้ว จุดใดๆ ของเซ็กเมนต์นี้สามารถใช้เป็นค่าประมาณเบื้องต้นได้ อันเป็นผลมาจากขั้นตอนแรกของการคำนวณ

ใน Excel เพื่อปรับแต่งค่าของราก คุณสามารถใช้ตัวเลือก "การเลือกพารามิเตอร์" และ "ค้นหาโซลูชัน" ตัวอย่างของการออกแบบโซลูชันแสดงในรูปที่ 2 และ 3

https://pandia.ru/text/78/157/images/image004_31.jpg" width="501" height="175 src=">

รูปที่ 3 - ผลลัพธ์ของการใช้วิธีการแก้สมการในเก่ง

ใน Mathcad เพื่อปรับแต่งรากของสมการ คุณสามารถใช้ฟังก์ชัน ราก(….) หรือ บล็อกการตัดสินใจ. ตัวอย่างของการใช้ฟังก์ชัน root(…) แสดงในรูปที่ 4 และบล็อกการตัดสินใจในรูปที่ 5 โปรดทราบว่าในบล็อกการตัดสินใจ (หลังส่วนหัวของบล็อก ที่ให้ไว้) ระหว่างด้านซ้ายและด้านขวาของสมการควรเป็น เครื่องหมายเท่ากับตัวหนา(ข้อมูลประจำตัว) ซึ่งสามารถรับได้โดยการเลือกจากจานเครื่องมือที่เกี่ยวข้อง หรือโดยการกดปุ่มพร้อมกัน Ctrlและ = .


243" height="31">

รูปที่ 5 - การแก้สมการโดยใช้บล็อกการแก้ในMathcad

อย่างที่คุณเห็น เครื่องมือมาตรฐานแต่ละอย่างจะค้นหาคำตอบของสมการด้วยความแม่นยำที่แน่นอน ความแม่นยำนี้ขึ้นอยู่กับวิธีการที่ใช้ในแพ็คเกจและการตั้งค่าของแพ็คเกจในระดับหนึ่ง การควบคุมความแม่นยำของผลลัพธ์ที่นี่ค่อนข้างยาก และมักจะเป็นไปไม่ได้

ในเวลาเดียวกัน มันง่ายมากที่จะสร้างตารางของคุณเองหรือเขียนโปรแกรมที่ใช้วิธีการปรับแต่งรูทอย่างใดอย่างหนึ่ง คุณสามารถใช้เกณฑ์ความแม่นยำในการคำนวณที่ผู้ใช้ระบุได้ที่นี่ ในขณะเดียวกัน ความเข้าใจในกระบวนการคำนวณก็ทำได้สำเร็จโดยไม่ต้องอาศัยหลักการของ Mitrofanushka: "มีคนขับ เขาจะพาคุณไป"

ด้านล่างนี้คือวิธีการทั่วไปบางส่วน สังเกตจุดที่ชัดเจน: สำหรับคนอื่น ๆ เงื่อนไขที่เท่าเทียมกัน วิธีนั้นความละเอียดของรากจะมีประสิทธิภาพมากขึ้น โดยจะพบผลลัพธ์ที่มีข้อผิดพลาดเช่นเดียวกันกับ เล็กกว่าจำนวนการประเมินฟังก์ชัน เอฟ(x)(สิ่งนี้ยังบรรลุความแม่นยำสูงสุดที่ เบอร์เดียวกันการคำนวณฟังก์ชัน)

1.4 วิธีแบ่งสองส่วน

ในวิธีนี้ ในแต่ละขั้นตอน เซ็กเมนต์จะแบ่งออกเป็นสองส่วนเท่าๆ กัน จากนั้นจึงเปรียบเทียบสัญญาณของฟังก์ชันที่ส่วนท้ายของทั้งสองส่วน (เช่น โดยเครื่องหมายของผลิตภัณฑ์ของค่าของฟังก์ชันที่ส่วนท้าย) กำหนดตัวที่มีสารละลาย (เครื่องหมาย ของฟังก์ชันที่ปลายต้องต่างกัน) และ ทำให้ส่วนแคบลงถ่ายโอนขอบเขตไปยังจุดที่พบ ( เอหรือ ). เงื่อนไขการสิ้นสุดคือความเล็กของส่วนที่มีราก ("ความแม่นยำใน x”) หรือความใกล้ชิดกับ 0 ของค่าฟังก์ชันตรงกลางเซกเมนต์ (“ความแม่นยำใน y”) คำตอบของสมการคือจุดกึ่งกลางของส่วนที่พบในขั้นตอนสุดท้าย

ตัวอย่าง. สร้างตารางเพื่อปรับแต่งรากของสมการ x3 –10 x+7=0 ในส่วน [-4, -3] โดยแบ่งส่วนครึ่ง กำหนดจำนวนขั้นตอนที่ต้องดำเนินการโดยแบ่งส่วนออกเป็นครึ่งหนึ่งและความแม่นยำที่ทำได้ในกรณีนี้ เอ็กซ์,เพื่อให้ได้ความแม่นยำใน yเท่ากับ 0.1; 0.01; 0.001.

วิธีการแก้คุณสามารถใช้ ตัวประมวลผลสเปรดชีต Excel ที่ให้คุณต่อบรรทัดได้อัตโนมัติ ในขั้นตอนแรกเราป้อนค่าของปลายด้านซ้ายและขวาของเซ็กเมนต์เริ่มต้นที่เลือกลงในตารางและคำนวณค่าตรงกลางของเซ็กเมนต์ กับ=(เอ+)/2 แล้วเราก็แนะนำสูตรการคำนวณฟังก์ชัน ณ จุดหนึ่ง เอ ((เอ)) และยืด (คัดลอก) เพื่อคำนวณ () และ (). ในคอลัมน์สุดท้ายเราคำนวณนิพจน์ ( -เอ)/2 กำหนดระดับความแม่นยำในการคำนวณ สูตรที่พิมพ์ทั้งหมดสามารถคัดลอกไปยังแถวที่สองของตารางได้

ในขั้นตอนที่สอง คุณต้องทำให้กระบวนการค้นหาครึ่งหนึ่งของกลุ่มที่มีรูทเป็นไปโดยอัตโนมัติ เมื่อต้องการทำเช่นนี้ ให้ใช้ฟังก์ชันตรรกะ IF ( เมนู: InsertFunctionBoolean). สำหรับขอบซ้ายใหม่ของเซ็กเมนต์ เราตรวจสอบความจริงของเงื่อนไข (เอ)*()>0 หากเป็นจริง เราจะนำตัวเลขมาเป็นค่าใหม่ของปลายด้านซ้ายของเซ็กเมนต์ เอ, เอ. ในทำนองเดียวกัน สำหรับขอบขวาใหม่ของส่วน เราตรวจสอบความจริงของเงื่อนไข ()* ()>0 หากเป็นจริง เราจะนำตัวเลขมาเป็นค่าใหม่ของส่วนขวาสุดของเซ็กเมนต์ (เพราะเงื่อนไขนี้แสดงว่ารูทบนช่วง [ , ] ไม่) มิฉะนั้น ให้ทิ้งค่าไว้ .

บรรทัดที่สองของตารางสามารถต่อได้ (คัดลอก) สำหรับจำนวนบรรทัดถัดไปที่ต้องการ

กระบวนการวนซ้ำจะสิ้นสุดลงเมื่อค่าถัดไปในคอลัมน์สุดท้ายน้อยกว่าความแม่นยำที่ระบุ เช่น ในกรณีนี้ ค่าตรงกลางของเซ็กเมนต์ในการประมาณค่าสุดท้ายจะเป็นค่าโดยประมาณของรูทที่ต้องการของสมการไม่เชิงเส้น รูปที่ 6 แสดงภาพรวมของโซลูชัน ในการสร้างกระบวนการที่คล้ายกันใน Mathcad คุณสามารถใช้แบบฟอร์มที่คล้ายกับที่แสดงในรูปที่ 7 จำนวนขั้นตอน N สามารถเปลี่ยนแปลงได้จนกว่าจะได้ความถูกต้องตามที่ต้องการในตารางผลลัพธ์ ตารางจะยาวขึ้นหรือสั้นลงโดยอัตโนมัติ

ดังนั้น หนึ่งในสามรากของสมการไม่เชิงเส้น x 3 – 10x+ 7=0 พบได้อย่างแม่นยำ e=0.0001 is x= - 3.46686. อย่างที่เราเห็น มันเป็นของกลุ่ม [-4; -3].

https://pandia.ru/text/78/157/images/image018_6.jpg" width="563" height="552 src=">

รูปที่ 7 - การปรับแต่งรากโดยแบ่งส่วนออกเป็นครึ่งในMathcad

1.5 วิธีคอร์ด

ในวิธีนี้ ฟังก์ชันไม่เชิงเส้น เอฟ(x)ในช่วงเวลาที่แยกจากกัน [ ก, ข] ถูกแทนที่ด้วยเส้นตรง - สมการของคอร์ด นั่นคือ เส้นตรงที่เชื่อมจุดขอบเขตของกราฟบนเซ็กเมนต์ เงื่อนไขสำหรับการบังคับใช้วิธีการคือความซ้ำซากจำเจของฟังก์ชันในส่วนเริ่มต้น ซึ่งทำให้มั่นใจถึงความเป็นเอกลักษณ์ของรูทในส่วนนี้ การคำนวณโดยวิธีคอร์ดจะคล้ายกับการคำนวณโดยวิธีการแบ่งเซกเมนต์เป็นครึ่งๆ แต่ตอนนี้ในแต่ละขั้นตอน จุดใหม่ xภายในส่วน [ เอ, ] คำนวณโดยใช้สูตรต่อไปนี้:

(x) > 0 ) หรือขอบเขตด้านขวา: x0 = ข(ถ้า f (b) f "(x)> 0). การคำนวณค่าประมาณใหม่ในขั้นตอนต่อไป ผม+1 ผลิตโดยสูตร:

https://pandia.ru/text/78/157/images/image021_4.jpg" width="596" height="265 src=">

รูปที่ 8 - การปรับแต่งรูทโดยวิธีแทนเจนต์ใน Excel

การคำนวณใน Mathcad ดำเนินการในลักษณะเดียวกัน ในเวลาเดียวกัน การมีอยู่ของตัวดำเนินการในแพ็คเกจนี้จะช่วยบรรเทาได้อย่างมาก ซึ่งจะคำนวณอนุพันธ์ของฟังก์ชันโดยอัตโนมัติ

องค์ประกอบที่ใช้เวลานานที่สุดในการคำนวณของนิวตันคือการคำนวณอนุพันธ์ในแต่ละขั้นตอน

สามารถใช้ได้ภายใต้เงื่อนไขบางประการ วิธีแบบง่ายของนิวตันซึ่งคำนวณอนุพันธ์เพียงครั้งเดียว - ที่จุดเริ่มต้น ในกรณีนี้จะใช้สูตรดัดแปลง

.

โดยธรรมชาติแล้ววิธีการแบบง่ายนั้นต้องการตามกฎ มากกว่าขั้นตอน

หากการคำนวณอนุพันธ์เกี่ยวข้องกับปัญหาร้ายแรง (เช่น หากฟังก์ชันไม่ได้กำหนดโดยนิพจน์เชิงวิเคราะห์ แต่ให้โดยโปรแกรมที่คำนวณค่าของฟังก์ชัน) จะใช้ฟังก์ชันนี้ วิธีการแก้ไขนิวตัน เรียกว่า วิธีซีแคนต์. ในที่นี้ อนุพันธ์จะคำนวณโดยประมาณจากค่าของฟังก์ชันที่จุดสองจุดติดต่อกันนั่นคือสูตรที่ใช้

.

ในวิธีซีแคนต์จำเป็นต้องระบุไม่ใช่หนึ่ง แต่มีจุดเริ่มต้นสองจุด - x0 และ x1 . Dot x1มักจะได้รับโดยกะ x0ไปยังขอบเขตอื่นของเซ็กเมนต์ในปริมาณเล็กน้อย เช่น 0.01

1.7 วิธีผสมผสาน

สามารถแสดงให้เห็นได้ว่าถ้าในส่วนเริ่มต้นของฟังก์ชัน เอฟ(x)สัญญาณของอนุพันธ์อันดับหนึ่งและอันดับสองยังคงไม่เปลี่ยนแปลง จากนั้นวิธีคอร์ดและนิวตันเข้าใกล้รากจากจุดต่างๆ ที่ วิธีการแบบผสมผสานใช้อัลกอริธึมทั้งสองพร้อมกันเพื่อเพิ่มประสิทธิภาพในแต่ละขั้นตอน ในกรณีนี้ ช่วงเวลาที่มีรูทจะลดลงทั้งสองด้าน ซึ่งนำไปสู่เงื่อนไขอื่นในการยุติการค้นหา การค้นหาสามารถหยุดได้ทันทีที่ช่วงกลางของช่วงที่ได้รับในขั้นตอนต่อไป ค่าของฟังก์ชันจะกลายเป็นโมดูโลน้อยกว่าข้อผิดพลาดที่กำหนดไว้ อี.

หากเป็นไปตามกฎที่กำหนดไว้ข้างต้น วิธีการของนิวตันถูกนำไปใช้กับขอบเขตด้านขวาของเซ็กเมนต์ จะใช้สูตรต่อไปนี้สำหรับการคำนวณ:

https://pandia.ru/text/78/157/images/image025_10.gif" width="107" height="45 src=">

ถ้าใช้วิธีของนิวตันกับขอบด้านซ้าย - ในสูตรก่อนหน้า การกำหนดจะกลับกัน เอและ .

1.8 วิธีการวนซ้ำ

ให้ใช้สมการเดิม f(x)=0แปลงเป็นรูปแบบ: x=y(X). จากนั้นเลือกค่าเริ่มต้น x0และแทนที่มันทางด้านซ้ายของสมการ, ได้, in กรณีทั่วไป, x1 = y(x0)¹ x0¹ y(x1), เพราะว่า x0โดยพลการและไม่ใช่รากของสมการ มูลค่าที่ได้รับ x1ถือว่าเป็นการประมาณการอื่นของราก เขาถูกใส่ร้ายอีกครั้งใน ด้านขวาสมการและรับ ค่าต่อไป x2=y(x1)). การคำนวณจะดำเนินต่อไปตามสูตร xi+1=y(ซี). ลำดับผลลัพธ์คือ: x0, x1, x2, x3 x4,...มาบรรจบกันที่รากภายใต้เงื่อนไขบางประการ khtochn.

สามารถแสดงให้เห็นได้ว่ากระบวนการวนซ้ำมาบรรจบกันภายใต้เงื่อนไข
|y(x) | < 1 на [เอ, ].

มีอยู่ วิธีต่างๆการแปลงสมการ เอฟ(x)= 0 ถึงใจดี y(X) = Xและในบางกรณี บางส่วนจะนำไปสู่การบรรจบกัน และบางกรณีจะนำไปสู่กระบวนการคำนวณที่แตกต่างกัน

วิธีหนึ่งคือการใช้สูตร

https://pandia.ru/text/78/157/images/image027_10.gif" width="188" height="44 src=">

ที่ไหน เอ็ม= สูงสุด | y(x)| บน [ เอ, ].

2 การแก้ระบบสมการไม่เชิงเส้น

2.1 ข้อมูลทั่วไปเกี่ยวกับการแก้ระบบสมการไม่เชิงเส้น

ระบบ สมการไม่เชิงเส้นด้วย ไม่รู้จัก x1, x2, ..., xnถูกเขียนในรูปแบบ:

ที่ไหน F1, F2,…, fnเป็นหน้าที่ของตัวแปรอิสระซึ่งมีตัวแปรไม่เชิงเส้น

ในกรณีของระบบสมการเชิงเส้น คำตอบของระบบจะเป็นเวกเตอร์ X* ซึ่งเมื่อถูกแทนที่ จะแปลงสมการทั้งหมดของระบบเป็นข้อมูลประจำตัวพร้อมๆ กัน

https://pandia.ru/text/78/157/images/image030_8.gif" width="191" height="56">

ค่าเริ่มต้น x0 และ y0 กำหนดแบบกราฟิก เพื่อค้นหาแต่ละค่าประมาณต่อเนื่องกัน (xi+1 , ยี่+1 ) ใช้เวกเตอร์ของค่าฟังก์ชันและเมทริกซ์ของค่าของอนุพันธ์ตัวแรกที่คำนวณที่จุดก่อนหน้า (xi, ยี่) .

https://pandia.ru/text/78/157/images/image032_5.gif" width="276" height="63 src=">

การคำนวณค่าประมาณใหม่ในขั้นตอน ฉัน+1ใช้สูตรเมทริกซ์

https://pandia.ru/text/78/157/images/image034_4.gif" width="303" height="59 src=">

สูตรข้างต้นเขียนได้ง่ายเป็นพิเศษใน Mathcad ซึ่งมีตัวดำเนินการสำหรับคำนวณอนุพันธ์และการดำเนินการด้วยเมทริกซ์ อย่างไรก็ตาม เมื่อ การใช้งานที่ถูกต้อง การดำเนินการเมทริกซ์สูตรเหล่านี้เขียนได้ง่ายใน Excel จริงที่นี่จำเป็นต้องได้รับสูตรสำหรับการคำนวณอนุพันธ์ล่วงหน้า Mathcad ยังสามารถใช้ในการคำนวณอนุพันธ์เชิงวิเคราะห์ได้อีกด้วย

2.3 การแก้ระบบสมการไม่เชิงเส้นโดยวิธีวนซ้ำ

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

https://pandia.ru/text/78/157/images/image036_5.gif" width="114" height="57 src=">

ถ้าหนึ่งในโซลูชั่นของระบบและค่าเริ่มต้น x0 และ y0 อยู่ในพื้นที่ ดีกำหนดโดยความไม่เท่าเทียมกัน: เอx, ydจากนั้นการคำนวณโดยวิธีการวนซ้ำอย่างง่ายมาบรรจบกันเมื่อดำเนินการในภูมิภาค ดีอัตราส่วน:

https://pandia.ru/text/78/157/images/image038_5.gif" width="75 height=48" height="48">< 1.

ที่ วิธีการวนซ้ำ Seidelสำหรับการคำนวณแต่ละครั้งจะใช้ค่าที่แม่นยำที่สุดสำหรับตัวแปรแต่ละตัวแล้ว สำหรับกรณีที่พิจารณาของตัวแปรสองตัว ตรรกะดังกล่าวนำไปสู่สูตร

0 "style="border-collapse:collapse;border:none">

เครื่องมือ (ตัวเลือก)

การประมาณเริ่มต้น

รากx

เอฟ(x)

3. จัดเรียงผลลัพธ์ตามความถูกต้องของโซลูชัน

สเปรดชีต Microsoft เก่ง . วิธีการและวิธีการแก้สมการ

วัตถุประสงค์: เชี่ยวชาญวิธีการเชิงตัวเลขสำหรับการแก้สมการและเครื่องมือในตัวสำหรับการแก้สมการ

เนื้อหา

1 วิธีเชิงตัวเลขสำหรับการแก้สมการไม่เชิงเส้น. 1

1.1 พื้นที่การแปลรูต. 1

1.2 เกณฑ์การบรรจบกันในการแก้สมการ. 2

1.3 วิธี Dichotomy (แบ่งครึ่ง) 3

ตัวอย่างการแก้สมการโดยใช้วิธี dichotomy . 4

2 การแก้สมการโดยใช้ “เลือกพารามิเตอร์”. 6

2.1 ตัวอย่างการแก้สมการโดยใช้ “Sampling” . 6

3 การแก้สมการและระบบสมการโดยใช้ add-in “Search for a solution”. 9

3.1 ตัวอย่างการแก้สมการโดยใช้ add-in “Search for a solution” . 10

ภารกิจที่ 1 การแก้สมการด้วยวิธีตัวเลข.. 12

งาน 2. การแก้สมการด้วยเครื่องมือในตัว "การเลือกพารามิเตอร์" และ "ค้นหาวิธีแก้ปัญหา" 12

คำถามทดสอบ.. 13

1 วิธีเชิงตัวเลขสำหรับการแก้สมการไม่เชิงเส้น

1.1 พื้นที่การแปลรูต

ที่ ปริทัศน์เป็นเรื่องปกติที่จะเขียนสมการใดๆ ของตัวแปรหนึ่งแบบนี้ ในขณะที่รูท (โซลูชัน) เป็นค่า x * ซึ่งกลายเป็นเอกลักษณ์ที่แท้จริง สมการสามารถมีได้หนึ่ง หลายตัว (รวมถึงจำนวนอนันต์) หรือไม่มีรากก็ได้ เนื่องจากเห็นได้ง่ายสำหรับรากที่แท้จริง ปัญหาในการหาคำตอบของสมการจึงตีความได้ง่ายด้วยภาพกราฟิก: รากคือค่าของตัวแปรอิสระที่กราฟของฟังก์ชันทางด้านซ้ายของสมการตัดกันฉ( x )ด้วยแกน abscissa

ตัวอย่างเช่น , เราทำการแปลงสมการและนำไปที่รูปแบบ f(x)=0เหล่านั้น. . กราฟของฟังก์ชันนี้แสดงในรูปที่ 1 เห็นได้ชัดว่าสมการนี้มีรากจริงสองราก - หนึ่งส่วนบน [-1, 0] และรากที่สอง -


รูปที่ 1 กราฟของฟังก์ชัน

จึงสามารถระบุได้คร่าวๆ พื้นที่การแปลรากสมการ โปรดทราบว่ารูทสามารถแยกได้มากกว่าหนึ่งวิธี: หากรูทแยกจากกันในบางเซกเมนต์ ส่วนที่มีขนาดเล็กกว่าที่มีรูทนี้ก็เหมาะสมเช่นกัน โดยทั่วไปแล้ว than ตัดน้อยลงดีกว่า แต่เราไม่ควรลืมว่าการแยกรูทในส่วนที่เล็กกว่านั้นต้องใช้ความพยายามในการคำนวณและอาจมีความสำคัญมาก ดังนั้น ในการเริ่มต้น คนๆ หนึ่งมักจะมีเนื้อหาที่มีส่วนกว้างมากซึ่งแยกรากออกจากกัน

สมการบางประเภทยอมรับวิธีแก้ปัญหาเชิงวิเคราะห์ ตัวอย่างเช่น สมการพีชคณิตกำลังของดีกรี ที่ ≤ 4 อย่างไรก็ตาม โดยทั่วไป โซลูชันการวิเคราะห์มักจะไม่อยู่ ในกรณีนี้ให้สมัคร วิธีการเชิงตัวเลข . วิธีการเชิงตัวเลขทั้งหมดสำหรับการแก้สมการคือ การประมาณที่ต่อเนื่องกันถึงรากของสมการ นั่นคือเลือกค่าประมาณเริ่มต้นของรูทx0จากนั้นใช้สูตรวนซ้ำ ลำดับจะถูกสร้างขึ้นx 1 , x 2 , …, x kมาบรรจบกันที่รากของสมการ .

1.2 เกณฑ์การบรรจบกันในการแก้สมการ

Ø ข้อผิดพลาดแน่นอน - การเปลี่ยนแปลงที่แน่นอนในการประมาณที่ขั้นตอนการวนซ้ำที่อยู่ติดกัน

Ø ข้อผิดพลาดสัมพัทธ์ - การเปลี่ยนแปลงสัมพัทธ์ในการประมาณที่ขั้นตอนการวนซ้ำที่อยู่ติดกัน

Ø ความใกล้ชิดกับศูนย์ของค่าที่คำนวณได้จากด้านซ้ายของสมการ (บางครั้งเรียกว่า inviscidสมการเนื่องจากส่วนที่เหลือของรูทเป็นศูนย์)

1.3 วิธีแบ่งครึ่ง(วิธีแบ่งขั้ว)

วิธีการแบ่งสองส่วนขึ้นอยู่กับการแบ่งส่วนตามลำดับของส่วนของการแปลรากเป็นครึ่งหนึ่ง

สำหรับสิ่งนี้ ค่าประมาณเริ่มต้นของเซ็กเมนต์จะถูกเลือก [ , ], ดังนั้นฉ( ก) × ฉ( ข)<0 จากนั้นเครื่องหมายของฟังก์ชันจะถูกกำหนดที่จุด - ตรงกลางของกลุ่ม [, ]. ถ้ามันอยู่ตรงข้ามกับเครื่องหมายของฟังก์ชันที่จุด เอจากนั้นรูทจะถูกแปลตามช่วงเวลา [, ] หากไม่เป็นเช่นนั้น ในช่วงเวลา [ค , ]. โครงร่างของวิธีการแบ่งขั้วแสดงในรูปที่ที่ nke 2

รูปที่ 2 การแบ่งส่วนตามลำดับของส่วนครึ่งหนึ่งและเข้าใกล้ราก

อัลกอริทึมของวิธี dichotomy สามารถเขียนได้ดังนี้:

1. นำเสนอสมการที่จะแก้ในรูป

2. เลือก a, b และคำนวณ

3. ถ้าฉ(ก)× ฉ(s)<0, то เอ=เอ; b = c ไม่เช่นนั้นเอ = ค; b=b

4. หากไม่เป็นไปตามเกณฑ์การบรรจบกัน ให้ไปที่ขั้นตอนที่2

ตัวอย่างของการแก้สมการ วิธีการแบ่งขั้ว

หาคำตอบของสมการที่กำหนดโดยวิธี dichotomy ด้วยความแม่นยำ 10 -5

ตัวอย่างการสร้างรูปแบบการคำนวณตามวิธีการแบ่งขั้วโดยใช้สมการเป็นตัวอย่าง: ในส่วน

วิธีนี้ประกอบด้วยการตรวจสอบเงื่อนไขในการวนซ้ำแต่ละครั้ง:

ถ้าฉ( ก) × ฉ<0 และเลือกส่วนที่เหมาะสมสำหรับการทำซ้ำครั้งต่อไป


ก)

ข)

รูปที่ 3 ลำดับของการวนซ้ำ วิธีการแบ่งขั้วเมื่อค้นหารากของสมการบนเซกเมนต์

ก) รูปแบบการคำนวณ (เซลล์ขึ้นอยู่กับ); ข)โหมดการแสดงสูตร

สำหรับตัวอย่างของเรา ลำดับการวนซ้ำเพื่อค้นหาวิธีแก้ปัญหาจะอยู่ในรูปแบบ:


ความแม่นยำของตัวเลขนัยสำคัญที่ห้านั้นทำได้ในการทำซ้ำ 20 ครั้ง

อัตราการลู่เข้าของวิธีนี้เป็นแบบเส้นตรง

เมื่อเงื่อนไขเริ่มต้นเป็นไปตามเงื่อนไข มันจะมาบรรจบกับสารละลายเสมอ

วิธีการแบ่งสองส่วนสะดวกสำหรับการแก้สมการจริงทางกายภาพ เมื่อทราบช่วงเวลาการแปลของคำตอบของสมการล่วงหน้า


2 การแก้สมการ , โดยใช้ “การเลือกพารามิเตอร์

การใช้ความสามารถของ Excel คุณสามารถค้นหารากของสมการไม่เชิงเส้นของฟอร์ม f(x)= 0 ในขอบเขตที่อนุญาตของตัวแปร ลำดับของการดำเนินการเพื่อค้นหารากมีดังนี้:

1. ฟังก์ชันถูกจัดตารางในช่วงของการมีอยู่ของรากที่เป็นไปได้

2. ตามตารางการประมาณค่าของรากที่ใกล้ที่สุดได้รับการแก้ไขแล้ว

3. การใช้เครื่องมือ Excel การเลือกพารามิเตอร์รากของสมการคำนวณด้วยความแม่นยำที่กำหนด

เมื่อเลือกพารามิเตอร์ Excel จะใช้กระบวนการวนซ้ำ (วงจร) จำนวนการวนซ้ำและความแม่นยำถูกตั้งค่าในเมนู แท็บเครื่องมือ/ตัวเลือก/การคำนวณ. หาก Excel ทำงานที่ซับซ้อนในการเลือกพารามิเตอร์ คุณสามารถคลิก หยุดในหน้าต่างโต้ตอบ ผลการเลือกพารามิเตอร์และยกเลิกการคำนวณแล้วกดปุ่ม ขั้นตอนเพื่อทำซ้ำครั้งต่อไปและดูผลลัพธ์ เมื่อแก้ไขงานในโหมดทีละขั้นตอน ปุ่มจะปรากฏขึ้น พี ดำเนินต่อ- เพื่อกลับสู่โหมดการเลือกพารามิเตอร์ปกติ

2.1 ตัวอย่างการแก้สมการโดยใช้ “Sampling”

ตัวอย่างเช่น , หารากของสมการทั้งหมด 2x 3 -15sin(x)+0.5x-5=0ในช่วงเวลา [-3 ; 3].

ในการแปลค่าประมาณเริ่มต้น จำเป็นต้องกำหนดช่วงเวลาของค่า X ซึ่งภายในค่าของฟังก์ชันตัดกับแกน abscissa นั่นคือ เครื่องหมายเปลี่ยนฟังก์ชัน ด้วยเหตุนี้ เราจึงจัดตารางฟังก์ชันในส่วน [–3; 3] ด้วยขั้นตอน 0.2 เราได้รับค่าตารางของฟังก์ชัน จากตารางผลลัพธ์ เราพบว่าค่าของฟังก์ชันตัดกับแกน X สามครั้ง ดังนั้นสมการดั้งเดิมจึงมีรากทั้งสามในส่วนที่กำหนด


รูปที่ 4 ค้นหาค่าโดยประมาณของรากของสมการ

ดำเนินการคำสั่งเมนู บริการ/พารามิเตอร์แท็บ คอมพิวเตอร์ตั้งค่าข้อผิดพลาดในการคำนวณแบบสัมพัทธ์ E=0.00001 และจำนวนการวนซ้ำ N=1000 ทำเครื่องหมายที่ช่อง การวนซ้ำ

ดำเนินการคำสั่งเมนู บริการ/การเลือก. ในกล่องโต้ตอบ (รูปที่ 9) กรอกข้อมูลในฟิลด์ต่อไปนี้: