[問題] 如何用eval寫出兩個for?已回收
我原本有聯立方程組如下
eq1='c1*x1 + c2*x2 = y1';
eq2='c1*x2 + c2*x3 = y2';
eq3='c1*x3 + c2*x4 = y3';
.
.
.
因為方程式有點多 所幸寫成
for i=1:n
sol=['eq' num2str(i) '=''c1*x' num2str(i) '+c2*x' num2str(i+1)
'=y' num2str(i) ''';'];
eval(sol);
end
現在如果我想增加c的數目 從c1;c2增加到c1;c2;c3;.....;cn
可以自由選定c的數量產生相對應的sol 要怎麼寫才好呢
例如當c的數量有3個 c1;c2;c3
聯立方程就變成
eq1='c1*x1 + c2*x2 + c3*x3 = y1';
eq2='c1*x2 + c2*x3 + c3*x4 = y2';
eq3='c1*x3 + c2*x4 + c3*x5 = y3';
.
.
.
sol就變成
sol=['eq' num2str(i) '=''c1*x' num2str(i) '+c2*x' num2str(i+1)
'+c2*x' num2str(i+1) '=y' num2str(i) ''';'];
請問有辦法實現嗎?
希望有強者解惑
感激不盡!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 143.215.204.68
推
11/17 03:42, , 1F
11/17 03:42, 1F
推
11/17 09:33, , 2F
11/17 09:33, 2F
→
11/17 09:34, , 3F
11/17 09:34, 3F
→
11/17 11:28, , 4F
11/17 11:28, 4F
推
11/17 15:22, , 5F
11/17 15:22, 5F
沒有很懂
如果已知 c=[c1;c2;c3]; y=[y1;y2;y3]
未知x矩陣
c為3x1矩陣 y也是3x1
那x就一定要就只能是1x1的矩陣??
這樣好像有點怪怪的...?
因為我的x是一個序列
照理說應該是
x1 x2 x3
x=[x2 x3 x4]
x3 x4 x5
x4 x5 x6
所以還真的不知道怎麼用AX=B列
還請指教
感激不盡!
※ 編輯: freezein 來自: 143.215.204.68 (11/17 23:21)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章