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我们可以根据实际需要,取任意正整数。