Re: [問題] 符號函式化簡已回收
摸了一個晚上,把我的心得分享一下
因為我想要得到分子每個次方的係數
又礙於分母沒辦法把最高次項normalize,即係數為1
只好用囉嗦一點的程式來達到我要的目的
一開始萃取分子的方法可以用numden
分子跟分母有可能會有公因式存在
利用factor把分子因式分解
再把分子與原式相除在取factor就可以得到因式分解的分母
兩個相除公因式就消失啦
得到分母後為了得到最高次項的係數,看幾次方就對他微分幾次,微n次後除以n!
得到的值再拿去除以分子,就可以得到分母normalize下的分子了
之後想得到分子各次方的係數,一樣用微分的技巧就可以推出
以下是有可能用到的function
collect(S) 收集整理S的係數
collect(S,'v') 以v為自變數收集整理S的係數
expand(S) 將S表示式展開
factor(S) S的因次分解(factorization)
simple(S) 如果可能的話,將S表示式再做簡化
simplify(S) 利用Maple簡化法則化簡S表示式
pretty(S) 將S顯示成類似打字形式的數學式
想要知道更多function可以下載http://163.13.134.134/MATLAB/ch8_symbo.pdf
這是辜狗找到的文件,雖然很基本,但是中文總是親切許多
如果有更好的寫法歡迎討論,謝謝^^
※ 引述《elvisrod (時間迴旋)》之銘言:
: %定義系統參數
: syms a b c d e f s T
: %系統的方程式
: T = (a*s^2+b*s+c)/((s+d)*(s+e))
: %與其他系統合併的方程式
: T_NRZ = (T+f)*exp(m*T*s)/(s*(z-exp(T*s)))
: %已知極點的情況直接求留數
: r1=T_NRZ*s
: r2=T_NRZ*(s+d)
: r3=T_NRZ*(s+e)
: %留數相加
: T_all=(1-1/z)*(limit(r1,s,0)+limit(r2,s,-d)+limit(r3,s,-e))
: 之後得到的方程式很亂
: 我試過simplify 似乎沒辦法幫我化簡方程式
: 然後又找不到指令萃取出z^n的值(n=1,2,3...)
: 趴文有看到有人問如何萃取出函式的分子和分母
: 不過沒有人回答
: 想說如果萃的出來就可以利用微分的技巧得到係數
: 有大大知道這個問題要如何解決嗎?? 感激不盡
--
█◤ ◥█
咬 ╲ ██ ● ● ██ ╱ 我
你 ◢██ ██◣ 是
喔 ◥██ ██◤ elvisrod
! ╱ ██ //// ◥◤ //// ██ ╲ !
◥█◣ ╲ │ ╱ ◢█◤ - POPER -
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.101.92
※ 編輯: elvisrod 來自: 124.8.101.92 (01/01 10:00)
推
01/01 11:43, , 1F
01/01 11:43, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章