[討論] 請教關於符號變換與解方程式的問題
小弟有個關於符號轉換以及解方程式的問題想請教一下板上的大大,
我原始的code簡化如下:
[步驟1]
syms x y z a b c d (其中,x y z為我關心的內生變數,abcd為外生參數)
e1 = ax+by
e2 = cx-dy
e3 = ax-cz
E = symfun([e1;e2;e3],[x y z a b c d] )
[步驟2]
我想要解不同參數值下內生變數的值,但原本的模型很複雜,
沒有解析解(無法將內生變數簡化成以外生變數表示的形式)。
所以我只能土法煉鋼如下:
TE = E(x,y,z,1,2,3,4)
然後Command Window就會得到特定參數值下的三條多項式:
x+2y
3x-4y
x-3z
為了解方程式,我另外建立一個function如下:
function B = testfun(x)
B = zeros(3,1);
B(1) = x+2y
B(2) = 3x-4y
B(3) = x-3z
end
然後利用ctrl+f,""手動""將x,y,z轉換成x(1) x(2) x(3)
[步驟3]
接著在原本的m檔中用fsolve解方程式:
SST = solve(@testfun,[0.5;0.5;0.5])
因為有很多組參數值要測試,想請問一下大家怎麼修改code才可以輕鬆找出
不同參數值下的解。[步驟2]無限重複手很痠XDD
(因為模型沒有解析解,常規的方法不管用)
我有嘗試過一開始就把x,y,z打成x(1) x(2) x(3),但command window會顯示
not a valid name >_<。
再請板上的大大幫忙,在此謝過!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.172.65
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1551363698.A.88C.html
※ 編輯: s4552752 (219.68.172.65), 02/28/2019 22:23:36
推
03/02 10:40,
5年前
, 1F
03/02 10:40, 1F
→
03/02 10:40,
5年前
, 2F
03/02 10:40, 2F
→
03/02 10:42,
5年前
, 3F
03/02 10:42, 3F
→
03/02 11:11,
5年前
, 4F
03/02 11:11, 4F
推
03/02 11:53,
5年前
, 5F
03/02 11:53, 5F
→
03/02 11:55,
5年前
, 6F
03/02 11:55, 6F
→
03/02 11:56,
5年前
, 7F
03/02 11:56, 7F
→
03/02 11:58,
5年前
, 8F
03/02 11:58, 8F
→
03/02 11:59,
5年前
, 9F
03/02 11:59, 9F
→
03/02 21:31,
5年前
, 10F
03/02 21:31, 10F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章