คุณจะพิจารณาความต้านทานที่มีประสิทธิภาพของกริดตัวต้านทานได้อย่างไร


14

คำเตือน: ฉันเป็นนักธรณีฟิสิกส์ที่มีพื้นฐานด้านวิศวกรรมไฟฟ้า จำกัด ฉันไม่แน่ใจว่าปัญหานี้จะง่ายอย่างไม่น่าเชื่อซับซ้อนอย่างเหลือเชื่อหรือไร้สาระอย่างสมบูรณ์

เป้าหมายของฉัน: กำหนดความต้านทานจำนวนมากของตัวอย่างหินโดยใช้เครือข่ายตัวต้านทาน

ตัวอย่างหินจะถูกสร้างแบบจำลองโดยใช้เครือข่ายตัวต้านทานที่มีตัวต้านทานบางตัวที่มีความต้านทานสูง (แทนของแข็งหิน) และตัวต้านทานอื่น ๆ ที่มีความต้านทานต่ำ

สมมติว่าฉันมีเครือข่ายของตัวต้านทานบนกริดสม่ำเสมอดังที่แสดงด้านล่าง ในตัวอย่างที่แสดงแต่ละส่วนของเส้นจะมีตัวต้านทานที่เกี่ยวข้องที่ระบุว่า 1 ถึง 24 บนตารางแบบ 3 คูณ 3 ความต้านทานของแต่ละส่วนของเส้นนั้นเป็นที่รู้จัก

ความยาวทั้งหมดของกริดคือและ "พื้นที่" คือA (ในกรณีนี้มันเป็นตัวอย่าง 2 มิติดังนั้นพื้นที่จึงเป็นเพียงความยาว) ความต้านทานจำนวนมากของตัวอย่างถูกกำหนดโดย:LA

ρbulk=ReffAL

ป้อนคำอธิบายรูปภาพที่นี่

คำถามของฉัน: ฉันจะตรวจสอบความต้านทานที่มีประสิทธิภาพได้อย่างไรReffของเครือข่าย

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

สามารถแก้ไขปัญหานี้ได้หรือไม่


2
ฉันจะเสียบมันเข้ากับเครื่องจำลองและปล่อยให้เครื่องจำลองแก้มัน คุณสามารถสร้างแบบจำลองของคุณเป็นวงจรเครื่องเทศ จากนั้นเพื่อค้นหาความต้านทานเพียงใช้กฎของโอห์ม (V = I * R) เครื่องเทศจะบอกคุณในปัจจุบันเพื่อให้คุณสามารถคำนวณ R.
mkeith

1
สิ่งทั้งหมดอาจเป็นไปโดยอัตโนมัติโดยใช้เครื่องเทศบรรทัดคำสั่ง แต่เพื่อพิสูจน์แนวคิดคุณสามารถเข้าสู่วงจรของคุณในเครื่องเทศฟรีเช่น LTSpice ใช้แรงดันไฟฟ้าและแสดงกระแสไฟฟ้า LTspice ยังสามารถแสดงฟังก์ชั่นที่เรียบง่ายเช่นแรงดันไฟฟ้าหารด้วยกระแส (ความต้านทาน)
mkeith

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

@ จอนฉันมักจะสนใจในตัวเลือก (1) ในการเขียนโค้ดสั้น ๆ เพื่อทำสิ่งนี้ ฉันพิจารณาความต้านทานของขอบตามรูปทรงเรขาคณิตของรูพรุนเบื้องต้นและความต้านทานที่รู้จักของแร่หินหรือของเหลว
Darcy

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

คำตอบ:


11

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

แยกจากกันเมทริกซ์อีกสองตัว (และ ) แสดงถึงขอบในระบบแนวนอนและแนวตั้ง นี่คือค่าความต้านทานของคุณฉันเดา ฉันไม่แน่ใจว่าคุณตั้งใจเติมสิ่งเหล่านี้อย่างไร แต่นั่นเป็นปัญหาของคุณ เทคนิคนี้สมมติว่าคุณสามารถเติมเมทริกซ์เหล่านี้ได้เช่นกันR hRvRh

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

สมมติว่าความยาวแบ่งออกเป็นส่วนและ "ความยาว"แบ่งออกเป็นส่วนจากนั้นคุณจะต้องสร้างเมทริกซ์ด้วยจุดยอดสำหรับค่าแรงดันสเกลาร์ (หรือใหญ่กว่า) คุณจะต้องเมทริกซ์อีกสองตัวที่มีขอบแนวตั้งและขอบแนวนอนระหว่างจุดยอดเหล่านั้นN L A N A ( N L + 1 )( N A + 1 ) N A( N L + 1 ) N L( N A + 1 )LNLANA(NL+1)(NA+1)NA(NL+1)NL(NA+1)

ตอนนี้ เริ่มต้นทุกจุดที่มี{V} เลือกหนึ่งในจุดยอดทางด้านซ้าย (ตรงกลาง, เด่นกว่า) และบันทึกเป็นค่าที่ไม่ได้รับอนุญาตให้เปลี่ยนแปลง ใช้วิธีใดก็ได้ที่คุณต้องการสำหรับสิ่งนี้ เลือกหนึ่งในจุดยอดทางด้านขวา (ตรงกลาง, เด่นกว่า) และเปลี่ยนค่าเป็น , ในขณะที่รับทราบอีกครั้งว่าไม่อนุญาตให้เปลี่ยนแปลงค่าของมัน เทคนิคที่ใช้งานได้ที่นี่คือการปล่อยให้มันเปลี่ยนตามปกติแล้วแทนที่ค่าในแต่ละขั้นตอน แต่มันไม่สำคัญว่าคุณจะประสบความสำเร็จได้อย่างไรตราบใดที่คุณประสบความสำเร็จ 00V 10V1V

(มีเทคนิคอื่น ๆ สำหรับเหตุผลด้านประสิทธิภาพ แต่อาจไม่คุ้มกับปัญหาที่นี่)

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

Vi,j=Rhi,j1Rhi,j(Vi1,jRvi,j+Vi+1,jRvi1,j)Rhi,j1Rhi,j(Rvi,j+Rvi1,j)+Rvi1,jRvi,j(Rhi,j+Rhi,j1)+Rvi1,jRvi,j(Vi,j1Rhi,j+Vi,j+1Rhi,j1)Rhi,j1Rhi,j(Rvi,j+Rvi1,j)+Rvi1,jRvi,j(Rhi,j+Rhi,j1)

สมการข้างต้นไม่มีอะไรมากไปกว่าการคำนวณแรงดันไฟฟ้าของโหนดกลางที่มีตัวต้านทานสี่ตัวเชื่อมต่ออยู่โดยที่แรงดันที่ปลายอีกด้านของตัวต้านทานทั้งสี่นั้นเป็นที่รู้จักกัน แรงดันไฟฟ้าโหนดกลางจะถูกคำนวณจากสมการข้างต้น เนื่องจากตัวหารนั้นเหมือนกันสำหรับแต่ละคำคุณสามารถคำนวณผลรวมของตัวเศษแล้วหารด้วยตัวหารได้หนึ่งครั้ง

นั่นจะอัปเดตโหนดทั้งหมดที่ผลรวมของเป็นคู่ ตอนนี้คุณทำโพรซีเดอร์เดียวกันกับโหนดทั้งหมดที่ผลรวมของเป็นเลขคี่ เมื่อดำเนินการตามขั้นตอนทั้งสองนี้แล้วคุณจะเสร็จสิ้นรอบหนึ่งi+ji+j

หากจำเป็นให้รีเซ็ตสองโหนดพิเศษ (สำหรับและตามที่กล่าวไว้ก่อนหน้านี้) หรือหากคุณป้องกันสองโหนดเหล่านั้นไม่จำเป็นต้องรีเซ็ต0V1V

คุณพร้อมสำหรับรอบต่อไป ทำรอบเหล่านี้หลาย ๆ ครั้งตามที่คุณรู้สึกว่าจำเป็นสำหรับสถานะโดยรวมในการปักหลัก (และจะ)

เมื่อคุณหยุดกระบวนการคุณสามารถหาค่าความต้านทานได้อย่างง่ายดายโดยเลือกดูที่โหนดที่อยู่รอบ ๆ โหนดที่ได้รับการป้องกันทางด้านซ้าย (อาจเป็นความคิดที่ดีที่จะทำให้เมทริกซ์ของคุณมีขนาดใหญ่พอ [โดย 1 ในทุกทิศทาง] เพื่อที่คุณจะได้มีสี่โหนดรอบ ๆ ตัวเลือก) ความแตกต่างของแรงดันไฟฟ้าระหว่างโหนดโดยรอบและโหนดพิเศษหารด้วย ความต้านทานในขอบระหว่างพวกเขาบอกคุณออกปัจจุบัน / เข้าโหนดพิเศษของคุณ เนื่องจากนี่เป็นโหนด "แบตเตอรี" ปัจจุบันจึงต้องเป็นปัจจุบันทั้งหมด เนื่องจากแรงดันไฟฟ้าคือตามคำจำกัดความหาร 1 ด้วยผลรวมของสี่กระแสเหล่านี้ที่คุณพบจะบอกความต้านทานรวม1V

ฉันกำลังดูรหัสบางอย่างฉันเขียนผลรวมนั้นด้วยความคิดเห็นจำนวนมากเพียง 67 บรรทัด ดังนั้นจึงไม่ยากที่จะเขียน

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


ทำไมคุณต้องแยกระบบออกเป็น i + j = even และ i + j = คี่

สมมติว่าคุณคำนวณขวา) นี้อ้างอิงโหนดที่ล้อมรอบ{5,5} ไม่เป็นไร. สมมติว่าคุณคำนวณต่อไปขวา) โปรดทราบว่าในรายการพารามิเตอร์เป็นค่าที่คุณเพิ่งคำนวณเพื่อ ? สิ่งนี้จะ "เปื้อน" สิ่งต่างๆมากมาย มันไม่ใช่เสียง แต่ละรอบของคี่ / คู่ควร "ปรากฏราวกับว่า" เกิดขึ้นในช่วงเวลาเดียวกัน ดังนั้นการคำนวณครั้งต่อไปของคุณควรเป็นเพราะไม่มี อินพุตไปยังฟังก์ชันเป็นโหนดที่ถูกเปลี่ยนแปลงระหว่างV5,5=f(V4,5,V6,5,V5,4,V5,6)V5,5V5,6=f(V4,6,V6,6,V5,5,V5,7)V5,5V5,7=f(V4,7,V6,7,V5,6,V5,8)ขั้นตอนนี้ จากนั้นคุณแกว่งไปรอบ ๆ และคำนวณทางเลือกหลีกเลี่ยงการเปื้อน แต่ตอนนี้การปรับปรุงทางเลือก คุณต้องทำอย่างนี้จริงๆ

นอกจากนี้ยังมีสูตรที่เหมือนกันสำหรับทั้งคู่และขั้นตอนคี่ผ่าน?

ใช่มันเหมือนกัน

ทุกอย่างสามารถแก้ไขได้ในขั้นตอนเดียวโดยใช้ระบบเชิงเส้น Ax = b โดยที่ A คือตัวดำเนินการเชิงเส้นและ b ให้เงื่อนไขขอบเขต? ดูเหมือนว่ามันค่อนข้างคล้ายกับวิธีการผลต่าง จำกัด สำหรับการแก้สมการเชิงอนุพันธ์บางส่วน ..

มีการเชื่อมต่อ ฉันคิดว่ามันเรียกว่าการใช้งาน 'แบบไม่มีเมทริกซ์'


นี่คือตัวอย่าง ชุดของค่าตัวต้านทานต่อไปนี้ถูกวางลงใน LTSpice สำหรับการจำลอง:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันทำให้มันสั้นและเรียบง่าย ในขณะที่คุณสามารถดูตัวอย่างปัจจุบันคำนวณจากแหล่งจ่ายไฟจะได้รับเป็น{} (ค่าจริงที่คำนวณโดย Spice คือ )1V30.225mA30.224552mA

ฉันรันโปรแกรม VB.NET ต่อไปนี้:

Module GEOGRID

    Const NL As Integer = 2
    Const NA As Integer = 2
    Const INF As Double = 1.0E+32

    Sub Main()

        Static Rh As Double(,) = New Double(NL + 2, NA + 1) {
                    {INF, INF, INF, INF},
                    {INF, 5, 21, INF},
                    {INF, 76, 10, INF},
                    {INF, 32, 22, INF},
                    {INF, INF, INF, INF}}
        Static Rv As Double(,) = New Double(NA + 1, NL + 2) {
                    {INF, INF, INF, INF, INF},
                    {INF, 61, 50, 16, INF},
                    {INF, 56, 45, 18, INF},
                    {INF, INF, INF, INF, INF}}
        Dim V As Double(,) = New Double(NL + 2, NA + 2) {
                    {0, 0, 0, 0, 0},
                    {0, 0, 0, 0, 0},
                    {0, 0, 0, 1, 0},
                    {0, 0, 0, 0, 0},
                    {0, 0, 0, 0, 0}}
        Dim PDE As Func(Of Integer, Integer, Double) = Function(ByVal i As Integer, ByVal j As Integer) (
                    Rh(i, j - 1) * Rh(i, j) * (V(i - 1, j) * Rv(i, j) + V(i + 1, j) * Rv(i - 1, j)) +
                    Rv(i - 1, j) * Rv(i, j) * (V(i, j - 1) * Rh(i, j) + V(i, j + 1) * Rh(i, j - 1))
                  ) / (
                    Rh(i, j - 1) * Rh(i, j) * (Rv(i, j) + Rv(i - 1, j)) +
                    Rv(i - 1, j) * Rv(i, j) * (Rh(i, j) + Rh(i, j - 1))
                  )
        Dim IV As Func(Of Integer, Integer, Double) = Function(ByVal i As Integer, ByVal j As Integer) 0 +
                    (V(i, j) - V(i - 1, j)) / Rv(i - 1, j) + (V(i, j) - V(i + 1, j)) / Rv(i, j) +
                    (V(i, j) - V(i, j - 1)) / Rh(i, j - 1) + (V(i, j) - V(i, j + 1)) / Rh(i, j)
        Dim idx As Integer = NA \ 2 + 1
        Dim jdx1 As Integer = NL + 1
        Dim jdx2 As Integer = 1
        For x As Integer = 1 To 1000
            For k As Integer = 0 To (NA + 1) * (NL + 1) - 1 Step 2
                Dim i As Integer = k \ (NL + 1)
                Dim j As Integer = k - i * (NL + 1) + 1
                i += 1
                If Not (i = idx AndAlso (j = jdx1 OrElse j = jdx2)) Then V(i, j) = PDE(i, j)
            Next
            For k As Integer = 1 To (NA + 1) * (NL + 1) - 1 Step 2
                Dim i As Integer = k \ (NL + 1)
                Dim j As Integer = k - i * (NL + 1) + 1
                i += 1
                If Not (i = idx AndAlso (j = jdx1 OrElse j = jdx2)) Then V(i, j) = PDE(i, j)
            Next
        Next
        Console.WriteLine("R = " & (1.0 / IV(idx, jdx1)).ToString)
        Console.WriteLine("R = " & (-1.0 / IV(idx, jdx2)).ToString)
    End Sub

End Module

ด้วยผลดังต่อไปนี้พิมพ์ออกมา:33.0856844038614 ซึ่งเป็นคำตอบที่ถูกต้องR=33.0856844038614Ω

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

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

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

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

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


หมายเหตุที่สิ้นสุด:

การสืบทอดนั้นค่อนข้างง่ายจาก KCL วางตัวต้านทานสี่ตัวลงในการจัดเรียงต่อไปนี้:

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab

ใช้ KCL:

VR1+VR2+VR3+VR4=V1R1+V2R2+V3R3+V4R4V=(V1R1+V2R2+V3R3+V4R4)(R1∣∣R2∣∣R3∣∣R4)

บางคนเล่นกับพีชคณิตได้รับผลลัพธ์ที่ฉันใช้ในรหัส


ขอบคุณสำหรับคำตอบที่ดี ฉันมีคำถามที่ชัดเจนสองสามข้อ 1) ทำไมคุณต้องแยกระบบออกเป็น = even และ = คี่ 2) สามารถแก้ไขได้ทั้งหมดในขั้นตอนเดียวโดยใช้ระบบเชิงเส้นบางชนิดโดยที่เป็นตัวดำเนินการเชิงเส้นและเป็นเงื่อนไขขอบเขตหรือไม่ มองหาที่มันดูเหมือนว่าค่อนข้างคล้ายคลึงกับวิธีการที่แตกต่างกันแน่นอนทฤษฎีการแก้สมการอนุพันธ์ย่อย ...ฉัน+ j A x = b A bi+ji+jAx=bAb
ดาร์ซี

นอกจากนี้ยังมีสูตรที่เหมือนกันสำหรับทั้งคู่และขั้นตอนคี่ผ่าน?
Darcy

2
@Darcy ฉันจะเขียนเพิ่มเติมเพื่อช่วยครอบคลุมปัญหาเหล่านี้
jonk

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

1
@Darcy สัญชาตญาณของคุณผิดและผลของ MATLAB นั้นถูกต้อง
jonk

1

คุณสามารถใช้เครือข่ายตัวต้านทานแบบ 2 มิติเพื่อจำลองปัญหาแบบ 2 มิติ แต่มันอาจจะค่อนข้างยุ่งยากเมื่อเคลื่อนไหวเป็น 3 มิติ คุณอาจต้องการพิจารณาใช้วิธีการแบบดั้งเดิม (วันนี้) กับตัวนำเสียงที่กำหนดไว้ในโดเมนของคุณด้วยการกำหนดค่าการนำไฟฟ้าที่เหมาะสมให้กับแต่ละตัว รหัสฟรีแวร์ของ FEMM ( http://www.femm.info/wiki/HomePage ) นั้นมีความสามารถมากและสามารถใช้กับ 2D, axial symmetry และ 3D จากที่นั่นคุณสามารถพิจารณาย้ายไปยังโค้ดที่มีความสามารถมากขึ้นเช่น SCIrun ( https://www.sci.utah.edu/) ซึ่งเป็นรหัสทางวิชาการสำหรับปัญหาตัวนำเสียงที่มีความซับซ้อนมาก ฉันใช้มันเป็นประจำสำหรับตาข่ายมากกว่าหนึ่งล้านจัตุรมุข แม้ว่าจะได้รับการพัฒนาเป็นหลักสำหรับการสร้างแบบจำลองทางชีวภาพมันควรจะทำงานได้ดีสำหรับสิ่งที่คุณกำลังทำ ตัวอย่างของปัญหาการส่งต่อในชุดเครื่องมือการส่งต่อ / ผกผันคุณควรดำเนินการต่อไป คุณอาจพบว่าปัญหาผกผันมีค่าสำหรับการตรวจเอกซเรย์อิมพีแดนซ์เช่นกัน โดยทั่วไปฉันใช้รุ่น 4 เนื่องจากรุ่น 5 ยังคงอยู่ระหว่างดำเนินการ ซอฟต์แวร์นี้ยังมีส่วนต่อประสานกับ tetgen ซึ่งเป็นรหัสการสร้าง mesh ที่ยอดเยี่ยม

ในที่สุดหากคุณไม่ได้ต่อต้านการใช้จ่ายเงินมีเสมอ COMSOL ซึ่งใช้งานง่ายมาก (และค่อนข้างแพง)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.