प्रत्येक घटक पर वोल्टेज क्या है?


18

नीचे दी गई तस्वीर एक आरएलसी सर्किट दिखाती है। एक RLC सर्किट एक इलेक्ट्रिकल सर्किट है जिसमें एक रोकनेवाला (R), एक प्रारंभ करनेवाला (L) और एक संधारित्र (C) होता है, जो श्रृंखला में या समानांतर में जुड़ा होता है। (1)

यहाँ छवि विवरण दर्ज करें

कम्प्यूटेशन को सरल बनाने के लिए, टाइम डोमेन के बजाय फ़्रीक्वेंसी (लाप्लास) डोमेन में काम करना आम है।

आपका कार्य है:

मान लें R, Lऔर Cइनपुट के रूप में, और वोल्टेज वापस करें VR, VLऔरVC

लाप्लास डोमेन में रूपांतरण इस प्रकार है:

R = R
XL = j*w*L      // OK, XL = w*L, and ZL = j*XL, but don't mind this here.  
XC = 1/(j*w*C)  // I haven't ruined physics, it's only a minor terminology tweak

जहां j = sqrt(-1), और w = 2*pi*50(आवृत्ति 50 हर्ट्ज है)।

संयुक्त प्रतिबाधा, जब घटक श्रृंखला में होते हैं Z = R + XL + XC। आपको U = R*Iहाई स्कूल भौतिकी के व्याख्यान याद हो सकते हैं । यह लगभग समान है, लेकिन अब थोड़ा अधिक जटिल हैVS = Z*I :। वर्तमान की गणना VSकुल प्रतिबाधा द्वारा वोल्टेज को विभाजित करके की जाती है Z। एकल घटक पर वोल्टेज को खोजने के लिए, आपको वर्तमान जानने की आवश्यकता है, फिर इसे प्रतिबाधा से गुणा करें। सादगी के लिए, वोल्टेज माना जाता है VS = 1+0*j

आपके लिए आवश्यक समीकरण निम्न हैं:

XL = j*w*L
XC = 1/(j*w*C)
Z = R + XL + XC   // The combined impedance of the circuit
I = VS / Z         // The current I (Voltage divided by impedance)
VR = I * R        // Voltage over resistance (Current times resistance)
VL = I * XL       // Voltage over inductor (Current times impedance)
VC = I * XC       // Voltage over capacitor (Current times impedance)

इनपुट या तो STDIN से है या फ़ंक्शन तर्क के रूप में। आउटपुट / रिजल्ट में तीन जटिल नंबर होने चाहिए, एक सूची में, स्ट्रिंग या जो भी आपकी भाषा में सबसे अधिक व्यावहारिक है। नाम (पूर्व VR = ...) को शामिल करना आवश्यक नहीं है , क्योंकि परिणाम नीचे दिए गए क्रम में हैं। सटीक को वास्तविक और काल्पनिक दोनों भाग के लिए कम से कम 3 दशमलव अंक होने चाहिए। यदि आपकी भाषा में डिफ़ॉल्ट है तो इनपुट और आउटपुट / परिणाम वैज्ञानिक संकेतन में हो सकते हैं।

Rऔर Lहैं >= 0, और C > 0R, L, C <= inf(या आपकी भाषा में उच्चतम संभव संख्या)।

एक साधारण परीक्षण मामला:

R = 1, L = 1, C = 0.00001

VR = 0.0549 + 0.2277i
VL = -71.5372 +17.2353i
VC = 72.4824 -17.4630i

उपरोक्त परिणामों के लिए, यह एक (कई में से एक) वैध प्रारूप हो सकता है:

(0.0549 + 0.2277i, -71.5372 +17.2353i, 72.4824 -17.4630i)

एक वोल्टेज मान के लिए कुछ मान्य ouput प्रारूप हैं:

1.234+i1.234,   1.23456+1.23456i,   1.2345+i*1.2345,   1.234e001+j*1.234e001.

यह सूची अनन्य नहीं है, इसलिए अन्य वेरिएंट का उपयोग किया जा सकता है, जब तक कि काल्पनिक भाग एक iया j( एक इलेक्ट्रिकल इंजीनियरिंग में आम तौर iपर वर्तमान के लिए उपयोग किया जाता है) द्वारा इंगित किया जाता है।

आर, एल और सी के अन्य मूल्यों के लिए परिणाम पुष्टि करने के लिए सभी परिणाम के लिए सच होना चाहिए: VR + VL + VC = 1

बाइट्स में सबसे छोटा कोड जीत!

वैसे: हाँ, यह एक घटक पर वोल्टेज है , और एक घटक के माध्यम से वर्तमान है । एक वोल्टेज कुछ भी कभी नहीं गया है। =)


2
दरअसल, प्रतिक्रियाएं वास्तविक संख्याएं होती हैं, इसलिए XL = omega * L। प्रारंभ करनेवाला का प्रतिबाधा Z = jXL है। (यह समस्या को प्रभावित नहीं करता है, यह केवल एक सुधार है)
Voitcus

@Voitcus, सच ... मैंने इसे थोड़ा सा सरल बना दिया, ताकि सवाल बहुत भ्रामक न हो। मैंने j को XL / XC शब्दों में शामिल किया, जब आवृत्ति डोमेन पर जा रहा था। मैंने कभी नहीं कहा कि प्रतिक्रिया जटिल थी (हालांकि मैंने इसे एक्स कहा, और जेएक्स नहीं) =) लेकिन मैं आपसे सहमत हूं! मैंने वास्तव में इसे प्रतिबाधा भी कहा।
स्टीवी ग्रिफिन

क्या मैं एक फ़ंक्शन इनपुट के रूप में 3 नंबर की सूची ले सकता हूं, या क्या इसके लिए 3 अलग-अलग तर्क होने चाहिए?
मार्टिन एंडर

@ मार्टिनबटनर, सूची ठीक है।
स्टीवी ग्रिफ़िन

जवाबों:



9

गणितज्ञ, 33 बाइट्स

तो पाइथ के करीब ...

l/Tr[l={#,#2(x=100Pi*I),1/x/#3}]&

यह एक अनाम समारोह है, जो लेता है R, Lऔर C(आवश्यक क्रम में परिणाम के रूप में अपने तीन तर्कों के रूप और रिटर्न जटिल नंबरों की सूची VR, VL, VC)। उदाहरण का उपयोग:

l/Tr[l={#,#2(x=100Pi*I),1/x/#3}]&[1, 1, 0.00001]
(* {0.0548617 + 0.22771 I, -71.5372 + 17.2353 I, 72.4824 - 17.463 I} *)

3

ऑक्टेव / मतलाब, 53 51 बाइट्स

function f(R,L,C)
k=-.01j/pi;Z=[R L/k k/C];Z/sum(Z)

इसे ऑनलाइन आज़माएं

दो बाइट निकालने के लिए @StewieGriffin को धन्यवाद।


@StewieGriffin 100j?! इतने सालों में मतलब का उपयोग करना और मुझे नहीं पता था कि यह किया जा सकता है! :-) (मुझे पता था 1j, लेकिन मुझे लगा कि यह बस है)। धन्यवाद!
लुइस मेंडो सेप

... आअंद: जाहिरा तौर पर मैं तुम्हारे बारे में अधिक जानता हूँ कि तुम क्या करते हो! क्योंकि, आप जानते हैं कि यह संभव है ! =)
स्टेवि ग्रिफिन

@StewieGriffin Ooooh। यह मेरे साथ फिर से हुआ। बुरी याद !! !! - D (मैं वास्तव में कभी भी उस संकेतन का उपयोग नहीं करता)
लुइस मेंडू

आप एक और बाइट बचा सकते हैं यदि आप k के व्युत्क्रम से शुरू करते हैं, जैसे: k=-.01j/pi;Z=[R,L/k,k/C];Z/sum(Z)या k=-.01j/pi;[R L/k k/C]/(R+L/k+k/C)। =)
स्टेवी ग्रिफिन

@StewieGriffin अच्छा विचार है! संपादित
लुइस मेन्डो

3

एपीएल (डायलॉग यूनिकोड) , 27 24 बाइट्स एसबीसीएस

पूरा कार्यक्रम। के लिए संकेत देता C, L, Rइसी क्रम में।

(⊢÷+/)(⎕,⎕∘÷,÷∘⎕)÷○0J100

इसे ऑनलाइन आज़माएं!

0J100 100  i

 π बार कि

÷ उस का पारस्परिक

() निम्नलिखित टैसिट फ़ंक्शन लागू करें:

÷∘⎕ इनपुट द्वारा तर्क को विभाजित करें ( C)

⎕∘÷,Lतर्क से विभाजित  इनपुट ( )

⎕, प्रीपेंड इनपुट ( R)

() निम्नलिखित टैसिट फ़ंक्शन लागू करें:

+/ तर्क वितर्क करें

⊢÷ उसके द्वारा तर्क विभाजित करें


@StewieGriffin मुझे यकीन है कि आप क्या मतलब है ध्यान दें। "उच्च माइनस" ¯एपीएल की नकारात्मक संख्या उपसर्ग है, फ़ंक्शन (यानी गणित ऑपरेटर) से अलग करने के लिए नकारात्मक -। वैसे भी, एपीएल चार्ट को सिंगल बाइट्स के रूप में नहीं गिनना उचित नहीं होगा, यह सिर्फ एन्कोडिंग की बात है, और कई एपीएल सिस्टम हैं जो एपीएल कोड को स्टोर करने के लिए सिंगल बाइट्स का उपयोग करते हैं। Eg Dyalog में उनके दुभाषिया के यूनिकोड और क्लासिक (सिंगल-बाइट) दोनों संस्करण हैं।
आदम

1
मैं सहमत हूं, यदि आपने एन्कोडिंग का उपयोग किया है जहां हर वर्ण एक एकल बाइट है, तो चार्ट की संख्या बाइट की संख्या के बराबर होनी चाहिए। क्या आप यह सत्यापित कर सकते हैं कि यह मामला है (मैं एक अलग एन्कोडिंग सिस्टम apl से परिचित नहीं हूं)। इसके अलावा, मैं उच्च ऋण चिह्न से परिचित नहीं था। मेरा बुरा ...
स्टीवी ग्रिफिन

मैंने कोड को "बाइट्स की गिनती संख्या" बॉक्स में चिपका दिया और 31 को वापस आ गया। यदि यह सही नहीं है, तो निश्चित रूप से आपका स्कोर 28 :-) ..,49J¯17.4..होगा , हालांकि, इसका मतलब होगा कि पहला भाग काल्पनिक है और दूसरा किसी अन्य भाषा में (या सामान्य रूप से गणितीय अंकन में) वास्तविक है, इसलिए यह नियम का उल्लंघन कर सकता है "जब तक कि काल्पनिक भाग i या aj द्वारा इंगित किया गया है"। "उच्च माइनस" के बारे में मुझे सिखाने के लिए एक +1 और एक अच्छा उत्तर दें, लेकिन मुझे यकीन नहीं है कि मैं इसे स्वीकार किए गए उत्तर के रूप में चुन सकता हूं, जब वह दिन आता है।
स्टीवी ग्रिफिन

1
@StewieGriffin Ninja'd;)
बीटा डिके


2

ऑक्टेव, 41 बाइट्स

@(R,L,C)(Z=[R L/(k=-.01j/pi) k/C])/sum(Z)

1/(100*j*pi)छोटा किया जा सकता है -.01j/piजो बहुत छोटा है। इसे चर kइनलाइन पर असाइन करके , चर का उपयोग दो बार किया जा सकता है। वैरिएबल को पूरे वेक्टर को सौंपने में Z4 बाइट्स का खर्च आता है, लेकिन हमें इससे विभाजित करने की अनुमति देता है sum(Z), जो कि 5 बाइट्स से कम है (R+L/k+k/C)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.