為什麼matlab中用diff求出的不是求導的結果

2021-03-03 21:00:01 字數 2310 閱讀 4046

1樓:匿名使用者

^matlab中's'表示輸入一個字串,求導可以試試如下**:clc;clear;close all;

syms x b;

s1=6*x^3-4*x^2+b*x-5;

diff(s1)

顯示結果:ans =

18*x^2 - 8*x + b

2樓:匿名使用者

因為它將字元按數值處理了,可以試試:>> diff(s1, 'x')ans =

18*x^2 - 8*x + b

>> 或者使用符號函式clc; clear; close all;

syms x b;

s1 = 6*x^3 - 4*x^2 + b*x - 5;

diff(s1, x)

ans =

18*x^2 - 8*x + b

>>

matlab中diff函式求差分什麼意思?課本上說是求導數。兩者有什麼區別?

3樓:

差分是針對離散情況如離散向量、數字影象等來講的,而導數是針對連續函式來講的,這兩種情況都可以用diff函式來求

離散情況如:

a=[1 2 3], diff(a) = [1 1];

連續情況如:

syms x y

y=x^2;

diff(y,x)=2*x

望採納,謝謝!

4樓:小小肖麒麟

題主你好,請問你追問中的的**,是出自哪一本書?可以告訴我一下嗎?感激不盡♥

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

5樓:匿名使用者

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

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

matlab中的diff函式

6樓:匿名使用者

樓主,您好;

1、最高項是6*x^3,而非6*t^3吧?

2、我是這樣執行的,可以得到你想要的結果:

>> syms x b

>> s1=6*x^3-4*x^2+b*x-5;

>> diff(s1,1);

>> diff(s1,1)

ans =

18*x^2-8*x+b

>> syms x b

>> s1=6*x^3-4*x^2+b*x-5;

>> diff(s1,1)

ans =

18*x^2-8*x+b

3、diff有2個用途:求向量相鄰間元素的差 和 求導;

你得到的結果是誤讓系統執行了前者;

而且,注意到:

>> '*' - '6'

ans =

-12這就是第1個數為什麼是-12,之後的就不用再講了。

7樓:暗影之王

在matlab中,diff函式用於求導數或者向量和矩陣的比較。在matlab的命令視窗中輸入doc diff或者help diff即可獲得該函式的幫助資訊。

呼叫格式及說明:

y = diff(x)

這裡求函式x的一階導數

y = diff(x,n)

求函式x的n階導數

y = diff(x,dim)

求函式x關於變數dim的偏導數

y = diff(x,n,dim)

求函式x關於dim的n階偏導數

若x為向量,

y = diff(x)= [x(2)-x(1),x(3)-x(2),...,x(n)-x(n-1)]

求前後兩項之差

若x為矩陣,

y = diff(x)= [x(2:n,:) - x(1:n-1,:)]

求每列前後兩項之差

8樓:晏漾漾達農

如果你的函式是解析表示式,可以藉助於符號運算求導數,求出導數之後再轉換回inline函式。

示例:>> fun=inline('sin(x^2)*cos(y^3)')

fun =

inline function:

fun(x,y) = sin(x^2)*cos(y^3)>> dfun=inline(char(diff(char(fun))))

dfun =

inline function:

dfun(x,y) = 2*cos(x^2)*x*cos(y^3)

matlab中用至少三種方法求解二階微分方程x0 2x 0 4x 0 2u t ,u t 是單位階躍函式,初始狀態為

同求!早知道就不選這個坑爹的選修課了 用matlab simulink解決線性微分方程x 0.2x 0.4x 0.2u t u t 某時程函式 先把式子寫對了啊。要不怎麼幫你建立simulink y dsolve d2x 0.2 dx 0.4 x y c2 exp t 41 1 2 10 1 10 ...

為什麼我的matlab總是顯示figure 1 ,figur

你說的是畫多子圖吧!使用以下命令即可 subplot m,n,k subplot position left bottom width height m表示畫幾 行n表示畫幾列 k表示現在畫的回是第幾幅圖答 例項 t pi 0 1000 1000 y1 sin t y2 sin 10 t y12 s...

matlab中a什麼意思,matlab中a是什麼意思

賦值的意思 a 1 表示a的值是1 a hello 表示a的值是字串hello matlab中a 是什麼意思 5 a 是把矩陣a轉換為一個行向量,就是一行。例如 a rand 2,3 a 0.6925 0.3965 0.78020.5567 0.0616 0.3376 b a b 0.6925 0....