इंटरनेट , प्रोग्रामिंग , और विद्युत अभियांत्रिकी

एसी / C + + और श्रोत कोड के लिए कार्यक्रम और Ybus कम्प्यूटिंग Zbus Matrices

नीचे है C / C + + प्रोग्राम और स्रोत कोड के Ybus कि computes और Zbus किसी दिए गए बिजली के नेटवर्क के किसी भी आकार . इनपुट पद्धति पर लिखा है " rx.txt " स्तम्भ के साथ निम्नलिखित प्रारूप ; ' से बस ' , ' करने के लिए बस ' , ' आर ' है , और , ' x ' . ' से बस ' और ' करने के लिए बस ' सकारात्मक लगातार एक पूर्णांक होना चाहिए शुरू से शून्य है . बस शून्य है मान को स्विंग या बस के निर्बल है . एक जटिल फ़ाइल शीर्षक का प्रयोग किया गया मैट्रिक्स की सहायता के लिए ऑपरेशन है . Zbus का अभिकलन किया गया था बस inverting के Ybus .

  //----------------------------- # pragma hdrstop //-------------- --------------- # # pragma argsused शामिल < stdio.h > # शामिल < conio.h > # में शामिल हैं " matrix.h " # शामिल < complex.h > का उपयोग कर एसटीडी : : जटिल ; गणित का उपयोग कर नेमस्पेस ; typedef जटिल परिसर ; typedef मैट्रिक्स मैट्रिक्स ; मुख्य शून्य ( शून्य ) ( / / घोषित चर int cnt , मैं , जे , matsize = 1 ; दोहरी tmp3 , tmp4 ; परिसर tmp6 ; मैट्रिक्स वाई , Ybus , Zbus ; * फ़ाइल में ; वाई SetSize ( matsize , matsize ) ; / / मैट्रिक्स आकार निर्धारित एक अस्थायी / / डेटा प्राप्त शाखा में = fopen ( " rx.txt " , " r " ) ; / / यदि फ़ाइल खोलने ( में == रिक्त ) ( printf ( " nrx.txt नहीं मिला " ) ; getch ( ) ; ) cnt = j = i = 0 ; के लिए ( ; ; ) यदि ( ( fscanf ( में , " % d " , & i ) == EOF ) ( तोड़ ; ) यदि ( i > matsize ) = i matsize ( ; ) fscanf ( में , " % d " , और j ) ; यदि ( j > matsize ) matsize = j ( ; ) वाई SetSize ( matsize +1 , matsize + 1 ) ; fscanf ( में , " % लाइसेंस " , और tmp3 ) ; fscanf ( में , " % लाइसेंस " , और tmp4 ) ; tmp6 = परिसर ( tmp3 , tmp4 ) ; वाई ( i , जे ) = 1.0/tmp6 ; cnt + + ; ) fclose ( ) ; / / अंत में मिल रहा है शाखा डेटा / / बनाएँ Ybus Ybus.SetSize ( matsize +1 , matsize +1 ) ; / / विकर्ण प्रविष्टियों के लिए ( i = 0 ; i < = matsize ; i + + ) ( के लिए ( j = 0 ; j < = matsize ; j + + ) ( Ybus ( i , i ) = Ybus ( i , i ) + वाई ( i , जे ) ; ) ) के लिए ( j = 0 ; j < = matsize ; j + + ) ( के लिए ( i = 0 ; i < = matsize ; i + + ) ( Ybus ( j , जे ) = Ybus ( j , जे ) + वाई ( i , जे ) ; ) ) / / अंत / / बंद विकर्ण प्रविष्टियों cnt = 0 ; के लिए ( j = cnt ; j < = matsize ; j + + ) ( के लिए ( i = 0 ; i < = matsize ; i + + ) ( यदि ( j ! = i ) ( Ybus ( i , जे ) = Ybus ( j , i ) =- 1,0 * वाई ( i , जे ) ; ) ) cnt + + ; ) / / अंत / / बनाने के अंत तक बस वाई / / 0 बस में शामिल नहीं है Ybus मैट्रिक्स / / क्योंकि यह संदर्भ के लिए बस ( j = 1 ; j < = matsize ; j + + ) ( के लिए ( i = 1 ; i < = matsize ; i + + ) ( Ybus ( i - 1 , जे - 1 ) = Ybus ( i , जे ) ; ) ) Ybus.SetSize ( matsize , matsize ) ; Zbus . SetSize ( matsize , matsize ) ; printf ( " nnYbus Matrixn " ) ; अदालत < < Ybus < < endl ; Zbus = ! Ybus ; / / प्राप्त व्युत्क्रम के Ybus printf ( " nnZbus Matrixn " ) ; अदालत < < Zbus < < endl ; getch ( ) ; ) 


दायर में : लोड फ्लो विश्लेषण और पारेषण प्रणाली , सी + +

« पिछला लेख में और पारेषण प्रणाली लोड फ्लो विश्लेषण : बस एक बस के साथ दोनों ही प्रकार के और जनरेटर पर यह भार Connected
« पिछला लेख में C + + : मैट्रिक्स बंधन लाइट : एक मैट्रिक्स हैडर फ़ाइल मैट्रिक्स के लिए आपरेशन में C + +

» लेख में आगे और पारेषण प्रणाली लोड फ्लो विश्लेषण : एक क्रियाविधि विज्ञान के प्रभाव का आकलन करने में विंड फार्म पर विद्युत पारेषण प्रणाली
» अगले लेख में C + + : कैसे चलाने के लिए खड़े अकेला Borland C + + अनुप्रयोग

इस साइट में खोजें

प्रायोजित लिंक्स


अनुवाद

English flagItalian flagKorean flagChinese (Simplified) flagPortuguese flag
German flagFrench flagSpanish flagJapanese flagArabic flag
Russian flagHindi flag   
By N2H

Legal