回覆列表
  • 1 # 鎂噠02

    matlab中subs()是符號計算函式,詳細用法可以在Matlab的Command Windows輸入:help subs。subs()函式表示將符號表達式中的某些符號變數替換為指定的新的變數,常用呼叫方式為:R = subs(S, new) 利用new的值代替符號表達式S中的預設符號。R = subs(S) 用由呼叫函式或Matlab工作空間中獲取的值替代了在符號表達式S中的所有當前的變數。R = subs(S, old, new) 利用new的值代替符號表達式中old的值。old為符號變數或是字串變數名。new是一個符號貨數值變數或表示式。也就是說R = subs(S,old,new)在old=new的條件下重新計算了表示式S。這種替換第一次作為Matlab表示式被嘗試,如果所有在new中的數值是雙精度的,計算是以雙精度算術運算進行的。講new值轉化為符號可以驗證符號貨變數的運算精度。如果old和new是大小和型別相同的向量或是元包陣列,每一個old的元素都將被相應新的元素替換。如果S和old是標量,new是陣列或元包陣列,則擴充套件標量去計算一個數組結果。如果new是個數值矩陣元包陣列,替換講執行為/智慧元素/(i.e., subs(x*y,{x,y},{A,B}) returns A.*B when A and B are numeric)。如果subs(s,old,new) 沒有改變S,則將會試行subs(s,new,old)。這將為前面的版本提供向前的相容性,消除記憶引數順序。subs(s,old,new,0)不改變引數,如果S沒有改變。首先是呼叫格式:R = subs(S)R = subs(S, new)R = subs(S, old, new)其中S為符號表達式,預設的是變數x!例1:>> syms x;>> f=x^2;>> subs(f,2)ans = 4例2:將表示式x^2+y^2中x取值為2>> syms x y;>> f=x^2+y^2;>> subs(f,x,2)ans =y^2 + 4例3:>> syms x y;>> f=x^2+y^2;>> subs(f,findsym(f),2)ans =y^2 + 4其中findsym(f)為查詢f中所有的符號變數例4:同時對兩個或多個變數取值求解>> syms a b;subs(cos(a) + sin(b), {a, b}, {sym("alpha"), 2})ans =sin(2) + cos(alpha)例5:帶入資料的值也可以是陣列形式>> syms t a;>> subs(exp(a*t), "a", -magic(2))ans =[ 1/exp(t), 1/exp(3*t)][ 1/exp(4*t), 1/exp(2*t)]

  • 中秋節和大豐收的關聯?
  • 動漫裡有哪些經典的大叔形象?