[問題] solve求解的問題
%以下是有的數值
packet1=300;
packet2=300;
packet3=300;
Rsr1=30;
Rsr2=30;
Rr1d1=10;
Rr1d2=10;
Rr1d3=10;
Rr2d1=10;
Rr2d2=10;
Rr2d3=10;
Rsd1=30;
Rsd2=30;
Rsd3=30;
%想利用下列等式求解Xr1d1 Xr1d2 Xr1d3 Xr2d1 Xr2d2 Xr2d3
eq1 = 'Rsr1=Xr1d1+Xr1d2+Xr1d3';
eq2 = 'Rsr2=Xr2d1+Xr2d2+Xr2d3';
eq3 = 'Vr1d1=Xr1d1*Rr1d1/(Xr1d1+Rr1d1)';
eq4 = 'Vr2d1=Xr2d1*Rr2d1/(Xr2d1+Rr2d1)';
eq5 = 'Vr1d2=Xr1d2*Rr1d2/(Xr1d2+Rr1d2)';
eq6 = 'Vr2d2=Xr2d2*Rr2d2/(Xr2d2+Rr2d2)';
eq7 = 'Vr1d3=Xr1d3*Rr1d3/(Xr1d3+Rr1d3)';
eq8 = 'Vr2d3=Xr2d3*Rr2d3/(Xr2d3+Rr2d3)';
eq9 = 'packet1/(Rsd1+Vr1d1+Vr2d1)=packet2/(Rsd2+Vr1d2+Vr2d2)';
eq10 = 'packet2/(Rsd2+Vr1d2+Vr2d2)=packet3/(Rsd3+Vr1d3+Vr2d3)';
eq11 = 'packet1/(Rsd1+Vr1d1+Vr2d1)=packet3/(Rsd3+Vr1d3+Vr2d3)';
[Xr1d1 Xr1d2 Xr1d3 Xr2d1 Xr2d2 Xr2d3 ] = solve(
eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10,eq11 )
程式碼如上面
抱歉剛接觸matlab
原本想測試看看所以故意湊好解的數字
想說至少會有[10 10 10 10 10 10]這個解
可是卻只出現[ empty sym ]以及[]
請問是什麼原因
請板上的先進幫忙解惑一下 thanks
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.213.119
→
05/29 08:05, , 1F
05/29 08:05, 1F
→
05/29 08:07, , 2F
05/29 08:07, 2F
是說我要把寫法
eq1 = 'Rsr1=Xr1d1+Xr1d2+Xr1d3';
eq2 = 'Rsr2=Xr2d1+Xr2d2+Xr2d3';
.
.
.
改成
eq1 = Rsr1-Xr1d1+Xr1d2+Xr1d3;
eq2 = Rsr2-Xr2d1+Xr2d2+Xr2d3;
.
.
.
的意思嗎
抱歉慧根不太夠orz
→
05/29 08:18, , 3F
05/29 08:18, 3F
→
05/29 08:19, , 4F
05/29 08:19, 4F
再問一下如果等式太少 要求的解太多
他會得到多組解 還是會出現錯誤?
然後可以限制所得到的解的範圍嗎?
感謝
※ 編輯: MuseLand 來自: 140.114.213.119 (05/29 08:41)
討論串 (同標題文章)