Re: [問題] solve & 遞迴已回收
※ 引述《Maxey (不想想妳)》之銘言:
: solve(eq0,eq1,'A','B');
: solve(eq0,eq1,eq2,'A','B','C');
: solve(eq0,eq1,eq2,eq3,'A','B','C','D');
: 我想寫一個類似上面的遞迴求解程式
: 請問該如何寫??
: 卡在 solve 的參數會越來越多@@
: 謝謝各位解答:)
你要做的其實是產生字串 最後再用eval執行
下面是程式碼 n可以依據你要幾個變數改變
不過有個限制 就是最多幫你產生A-Z 再超過程式會出問題
我把你想要的指令先拆成兩個字串
eng管英文字母 eqn管eq數字
eng
_______________
solve(eq0,eq1,eq2,eq3,'A','B','C','D');
^^^^^^^^^^^^^^^
eqn
clear all;clc
n=3;
for i=1:n
eqn=''; %清空字串
eng='';
for j=0:i
eqn=[eqn 'eq' num2str(j) ',']; %利用num2str產生eqn的n
eng=[eng '''' char(65+j) '''' ',']; %數字轉英文字母 (ascii)
end
eng(end)=[]; %清空eng最後的逗點
eval(['slove(' eqn eng ');']) %eval執行命令
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.82.2
※ 編輯: panzertp 來自: 114.32.82.2 (12/29 00:23)
推
12/29 10:15, , 1F
12/29 10:15, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):