RRootEquinox
พื้นที่เขียนโค้ดด้วย AI

รากสมการกำลังสองที่เสถียร

คำนวณรากจริงของสมการกำลังสองด้วยสัมประสิทธิ์ปรับสเกลและสูตรลดการหักล้างเชิงตัวเลข.

● ● ●RootEquinox●
ขั้นตอนการทำงาน · รากสมการกำลังสองที่เสถียร ×
from math import isfinite, sqrt, copysign
def real_roots(a, b, c):
    original = (a, b, c)
    if not all(type(v) in (int, float) and isfinite(v) for v in original) or a == 0:
        raise ValueError("finite quadratic coefficients")
    if c == 0:
        other = -b / a
        if not isfinite(other) or (b != 0 and other == 0):
            raise ValueError("unrepresentable root")
        return [0.0] if b == 0 else sorted((0.0, other))
    scale = max(map(abs, original))
    a, b, c = (v / scale for v in original)
    if any(v != 0 and s == 0 for v, s in zip(original, (a,b,c))):
        raise ValueError("coefficient underflow")
    d = b*b - 4*a*c
    if d < 0: return []
    if d == 0: roots = [-b / (2*a)]
    else:
        q = -0.5 * (b + copysign(sqrt(d), b))
        if q == 0: raise ValueError("root underflow")
        roots = sorted((q/a, c/q))
    if not all(map(isfinite, roots)) or (original[2] != 0 and 0 in roots):
        raise ValueError("unrepresentable roots")
    return roots
✳คำนวณรากจริงของสมการกำลังสองด้วยสัมประสิทธิ์ปรับสเกลและสูตรลดการหักล้างเชิงตัวเลข.
✓ การเปลี่ยนแปลงตรวจสอบก่อนนำไปใช้ ↗
ภาพประกอบพื้นที่ทำงาน
  1. โมเดล

    ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก

  2. โปรเจกต์

    ทดสอบรากซ้ำและรากห่างกัน พร้อมปฏิเสธสัมประสิทธิ์นำเป็นศูนย์หรือผลที่แทนค่าไม่ได้ และคืนรายการว่างเมื่อดิสคริมิแนนต์ติดลบ.

  3. ตรวจสอบก่อนนำไปใช้

    เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม

ขั้นตอนการทำงาน

รากสมการกำลังสองที่เสถียร

ขั้นตอนการทำงาน ↗
ขั้นตอนการทำงาน
from math import isfinite, sqrt, copysign
def real_roots(a, b, c):
    original = (a, b, c)
    if not all(type(v) in (int, float) and isfinite(v) for v in original) or a == 0:
        raise ValueError("finite quadratic coefficients")
    if c == 0:
        other = -b / a
        if not isfinite(other) or (b != 0 and other == 0):
            raise ValueError("unrepresentable root")
        return [0.0] if b == 0 else sorted((0.0, other))
    scale = max(map(abs, original))
    a, b, c = (v / scale for v in original)
    if any(v != 0 and s == 0 for v, s in zip(original, (a,b,c))):
        raise ValueError("coefficient underflow")
    d = b*b - 4*a*c
    if d < 0: return []
    if d == 0: roots = [-b / (2*a)]
    else:
        q = -0.5 * (b + copysign(sqrt(d), b))
        if q == 0: raise ValueError("root underflow")
        roots = sorted((q/a, c/q))
    if not all(map(isfinite, roots)) or (original[2] != 0 and 0 in roots):
        raise ValueError("unrepresentable roots")
    return roots
พื้นที่เขียนโค้ดด้วย AI

ตรวจพฤติกรรมตัวเลขให้เกินกว่ากรณีทั่วไป

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

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

ตรวจซอร์สที่ได้และรันการตรวจโปรเจกต์ด้วยชุดข้อมูลเดิม รวมการตรวจค่าคงเหลือเมื่อเหมาะสม อย่าถือว่าตัวเลขแสดงผลที่ดูสมเหตุสมผลเพียงพอเป็นหลักฐานว่าโค้ดเป็นไปตามขอบเขต RootEquinox ทำงานกับปลายทางที่รองรับ OpenAI-compatible หรือ Anthropic พร้อมข้อมูลรับรองเมื่อจำเป็น โมเดลแบบไม่จำกัดเป็นตัวเลือกเมื่อบริการที่ตั้งค่ามีให้ ส่วนเครื่องมือและขีดจำกัดบริบทขึ้นกับเซิร์ฟเวอร์ เป้าหมายคือการแก้โค้ดตัวเลขที่ประเมินกับกรณีชัดเจนได้ โดยตรวจพฤติกรรมปฏิเสธรอบคอบเท่าผลสำเร็จ

ประเมินแพตช์โค้ดตัวเลข

ควรแนบอะไรกับรายงานผลไม่แม่นยำ?

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

ทำไมต้องตรวจเส้นทางปฏิเสธในโค้ดตัวเลข?

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

การตรวจค่าคงเหลือพิสูจน์ว่าทุกรากแม่นยำได้หรือไม่?

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

ควรยอมรับโค้ดเขียนใหม่ที่ผ่านตัวอย่างทั่วไปหรือไม่?

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

ดาวน์โหลดสำหรับ Windows ↗

RootEquinox · อัปเดตล่าสุด 2026-10-25