MATLAB學習筆記(二):符號計算_-_1,matlab_-_1

來源:互聯網
上載者:User

MATLAB學習筆記(二):符號計算_-_1,matlab_-_1

2.1 符號對象和符號運算式

   建立一個基本符號對象 

syms a
 建立一個基本的符號數字

sym('num')sc=sym('num')

符號類數字與數值類數位差別

>> clear>> a=5+pi,b=sym('5+pi'),ca=class(a),cb=class(b),vpa(a-b)a =    8.1416 b = pi + 5 ca =doublecb =sym ans = -0.00000000000000012246467991473531772260691423833
符號運算式

由符號變數構成的運算式叫符號運算式

如求方程 uz^2+vz+w=0的解

>> clear>> syms u v w z>> Eq=u*z^2+v*z+w;>> solve(Eq) ans = - u*z^2 - v*z >> findsym(Eq),findsym(Eq,1)ans =u,v,w,zans =w

兩個好玩的指令:solve() 解方程函數,預設離x絕對值最小的字母為未知數,也可以對指定變數解方程,如 solve(Eq,z);

                                findsym(Eq) 確認運算式Eq中所有的自由符號變數(運算式也可以是符號矩陣)

                                 findsym(Eq,N) 從運算式中確認出距離x最近的N個自由符號變數

 

                  

2.2 符號數字及運算式的操作

數值數字與符號數字之間的強制轉換

>> clear>> a=88;b=sym('88');>> class(sym(a)),class(double(b))ans =symans =double
補:class(變數名) 返回該變數的資料類型


符號數字任意精度的計算

>> clear>> a=88;>> x=vpa(a) x = 88.0 >> class(x)ans =sym

一個指令: vpa(x)  將運算式x轉換為32位(預設 可以改變,用 vpa(x,n))精度下的符號數字



符號運算中有許多操作指令,如collect(合并同類項) ,expand(對指定項展開),factor(進行因子分解) ,numden(提取公因式) ,pretty(習慣方式顯示) 但其中最常用的是 

simple(Eq) 把Eq化簡成最簡形式

如 簡化 f=(1/x^3+6/x^2+12/x+8)^(1/3)

>> clear>> syms x>> f=(1/x^3+6/x^2+12/x+8)^(1/3);>> Eq=simple(f) Eq = ((2*x + 1)^3/x^3)^(1/3)
fuck 。。。其實還是能繼續化簡成 2+1/x 的,不知道怎麼回事多次化簡也沒能解決這個問題,難道是版本問題?

先到這。。第二章還有很多看來今天寫不完了。。QAQ

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.