MATLAB 單變量函數一階及N階求導


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我們可以根據實際需要,取任意正整數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM