1 對一維函數的求導及求特定函數處的變量值
%%最簡單的一階單變量函數進行求導 function usemyfunArray() %主函數必須位於最上方 clc clear syms x %syms x代表着聲明符號變量x,只有聲明了符號變量才可以進行符號運算,包括求導。 %f(x)=sin(x)+x^2; %我們輸入的要求導的函數 y = diff(sin(x)+x^2); %代表着對單變量函數f(x)求一階導數 disp('f(x)=sin(x)+x^2的導數是'); pretty(y); %將當前變量顯示為我們常用的書面形式 %求特定值對應的導數值 f = subs(y,'x',4); %subs其實是一個替換函數,y中的x替換成2,也就完成了 y=2×x,x = 4的求解吧。 fprintf('當x=4時,f(x)=sin(x)+x^2的導數是%d\n',f);
缺點是:紅色部分不能這樣寫,可能是因為f(x)不能辨認出來吧,以后改進
結果:
f(x)=sin(x)+x^2的導數是
cos(x) + 2 x
當x=4時,f(x)=sin(x)+x^2的導數是7.346356e+000
2.對一維函數的多階求導
我們還是以f(x)=sin(x)+x^2 為例,進行示例介紹,在MATLAB中,按照以下次序輸入命令
syms x %syms x代表着聲明符號變量x,只有聲明了符號變量才可以進行符號運算,包括求導。 %f(x)=sin(x)+x^2; %我們輸入的要求導的函數 y = diff(sin(x)+x^2,2); %代表着對單變量函數f(x)求二階導數 disp('f(x)=sin(x)+x^2的導數是'); pretty(y); %將當前變量顯示為我們常用的書面形式
注意:diff(f(x),n),n階導數,n我們可以根據實際需要,取任意正整數。