Вот схема и приведенные значения. Это для теста Coursera по линейным цепям, который я сдаю и где я застрял :-(
Выполняя KCL и KVL, я получаю следующее:
Это дает эту матрицу A * X = B с этим решением в Matlab
I1=10*1e-3; I2=30*1e-3; V1=10; R1=800; R2=100; R3=300; R4=1000;
A=[1 -1 -R1 0 0; 0 0 1 1 0; 1/R1 (-1/R1+1/R3-1/R2) 0 0 0; ...
0 0 0 R2 (R2+R3); 0 1 0 0 -R3]
B=[R1*I1; I2; I2-V1/R2; V1-R1*I1; R3*I1]
X=linsolve(A,B)
X=inv(A)*B
с
X =
-103.5000 Va
-7.5000 Vb
-0.1300 iA
0.1600 iB
-0.0350 iC
Что, к сожалению, неверно :-(
Где моя ошибка? Что я делаю не так?
Это кажется такой простой схемой...
Спасибо.
Поскольку вы предоставили свою собственную работу (спасибо!), вот как я подхожу к проблеме. Вы можете прополоть свою собственную работу, просматривая мою, на предмет собственных ошибок. Я хочу оставить кое-что для вас; это, а также немного работы по алгебре я также позже оставлю для вас ниже.
Я всегда буду начинать циклы (все четыре) с центрального узла вашей схемы. И я также всегда буду следовать направлению ваших собственных стрелок, поскольку я генерирую каждое уравнение ниже. И, чтобы быть полным, я всегда буду начинать каждое уравнение с явного . Указанная земля цепи просто игнорируется для следующих целей:
Вы можете либо использовать последние два уравнения, чтобы подставить их обратно в предыдущие четыре уравнения, а затем решить четыре неизвестных переменных в четырех уравнениях, либо вы можете просто решить все шесть уравнений выше для шести неизвестных переменных. В любом случае работает нормально.
Обратите внимание, что я не беспокоился о напряжениях узлов, а вместо этого использовал и для представления напряжений на двух ваших источниках тока.
Я не собираюсь приводить приведенные выше уравнения в матричную форму. Это просто алгебраические манипуляции, и я уверен, что вы без труда справитесь с этим.
Это также оставлено вам в качестве упражнения.
Так что просто позвольте Sage предоставить прямые результаты:
sage: var('i1 i2 ia ib ic id r1 r2 r3 r4 v1 vi1 vi2')
(i1, i2, ia, ib, ic, id, r1, r2, r3, r4, v1, vi1, vi2)
sage: e1=Eq(vi2-ia*r4-(ia+id)*r1,0)
sage: e2=Eq(vi2-(ib+ic)*r2,0)
sage: e3=Eq(-(ic+id)*r3+v1-(ic+ib)*r2,0)
sage: e4=Eq(-(ic+id)*r3+vi1-(id+ia)*r1,0)
sage: e5=Eq(i2,ia+ib)
sage: e6=Eq(i1,id)
sage: ans=solve([e1,e2,e3,e4,e5,e6],[ia,ib,ic,id,vi1,vi2])
sage: ans[ia].subs({i1:10e-3,i2:30e-3,v1:10,r1:800,r2:100,r3:300,r4:1000})
-0.00213333333333333
sage: ans[ib].subs({i1:10e-3,i2:30e-3,v1:10,r1:800,r2:100,r3:300,r4:1000})
0.0321333333333333
sage: ans[ic].subs({i1:10e-3,i2:30e-3,v1:10,r1:800,r2:100,r3:300,r4:1000})
0.00946666666666666
sage: ans[id].subs({i1:10e-3,i2:30e-3,v1:10,r1:800,r2:100,r3:300,r4:1000})
0.0100000000000000
sage: ans[vi1].subs({i1:10e-3,i2:30e-3,v1:10,r1:800,r2:100,r3:300,r4:1000})
12.1333333333333
sage: ans[vi2].subs({i1:10e-3,i2:30e-3,v1:10,r1:800,r2:100,r3:300,r4:1000})
4.16000000000000
Эти результаты будут правильными, я верю. Я только что запустил его в Spice, только после того, как сделал все вышеперечисленное, и он выдал те же цифры.
Список соединений LTSpice:
R1 N003 N002 800
R2 N001 N003 100
R3 N003 0 300
R4 N001 N002 1k
V1 N001 0 10
I1 0 N002 10m
I2 N003 N001 30m
Я бы использовал узловой анализ для VA и VB, используя Текущий закон Кирхгофа (KCL). Сначала определите напряжения, а затем используйте напряжения для решения токов. Помните, что все токи, входящие в узел, равны величине тока, выходящего из узла, и, поскольку элементы являются резисторами, вы можете просто использовать V = IR, чтобы получить ток резистора. Используя узловой анализ, вы должны иметь два уравнения с двумя неизвестными, что упростит работу с ним, чем с сеточным анализом и множественными токами. Когда у вас есть напряжения, должно быть довольно просто найти токи через резисторы.
Дориан
Андреас К.
Рокта
Андреас К.