matlab中用diff函式求得的微分怎麼帶入具體值

2021-04-18 22:31:55 字數 1091 閱讀 4687

1樓:匿名使用者

用 subs

比如 subs( diff(x^2) , 10)

2樓:匿名使用者

^這個問題有很多方法,上面說的是一種方法,還可以用 eval()來計算符號表達

內式的值如:容

>>s=diff('x^x')

s =x*x^(x - 1) + x^x*log(x)>> x=2; eval(s)

ans =

6.7726

matlab中,一個函式有多個自變數,怎麼分別求導並代入具體數值,舉個例子f=x1+x2+x3,分

3樓:匿名使用者

求導用diff(expr,var,order),代入數值用subs(expr,var,val)。

4樓:無與a侖比

你好!我依照你來舉得例子自,簡單編寫了一個程式,為了清晰起見,語句寫得比較簡單,你看看:

syms x1 x2 x3

f = x1^2+x2^2+x3^2;

fx1 = diff(f,x1);

fx2 = diff(f,x2);

fx3 = diff(f,x3);

x11 = input('請輸入整數x1:');

x22 = input('請輸入整數x2:');

x33 = input('請輸入整數x3:');

subs(fx1,x1,x11)

subs(fx2,x2,x22)

subs(fx3,x3,x33)

輸出的subs就是賦值之後的每一個偏導的結果,你可以試著執行一下。

diff預設對x求導,如果有好幾個x,則預設對x1求導,預設求一介導。祝好~

matlab中用diff求導後的值為什麼變成理論值的0.1倍了

5樓:匿名使用者

因為導數的定義是dy/dx,你這裡是df/dt你用diff(f),實際上只是求了df,還有除以自變數的微分你這裡自變數t的間隔是0.1

所以d應該等於diff(t)/0.1也就是你計算的十倍那樣就和ff一樣了

matlab中用series函式計算兩個傳遞函式的串聯形式

解決方bai法以及步驟 1 首du先,啟動使用的zhimatlab軟體,如圖 2 根dao據簡介中的系統專,用 來表示屬各環的傳遞函式,如圖 3 傳遞函式的求解由內到外,先求解內環的傳遞函式,如圖所示 4 外環的傳遞函式,如圖所示 5 根據求得的傳遞函式,利用roots函式判斷系統的穩定性,如圖所示...

matlab中用定義的函式為什麼不能求導

首先,求導屬於bai符號運算,對於du一般的數值型的變zhi量是不能進行求導的 dao。其次,用 內 定義的匿名函式只是容一個函式控制代碼,必需對其進行呼叫才能真正使得函式生效。其實,也並非用 定義的函式就不能求導,重要的是滿足上面的兩點 要呼叫函式,而且得到的結果是符號表示式,例如 syms y ...

matlab 如何求函式最小值

x,fval fminbnd x sin 2 x 1 0,2 x 0.2601 fval 0.1201 當x取0.2601時,函式有最小值 0.1201 當然答案是近似值 擴充套件資料 一個函式是一組在一起執行任務的語句。在matlab中,函式在單獨的檔案中定義。檔案的名稱和函式的名稱應該是一樣的。...