matlab 如何求自定义函数的导数 5
2个回答
展开全部
matlab的求导命令与求导法
建立符号变量命令sym和syms调用格式:
x=sym('x'), 建立符号变量x;
syms x y z , 建立多个符号变量x,y,z;
matlab求导命令diff调用格式:
diff(函数) , 求的一阶导数;
diff(函数, n) , 求的n阶导数(n是具体整数);
diff(函数,变量名), 求对的偏导数;
diff(函数, 变量名,n) ,求对的n阶偏导数;
matlab求雅可比矩阵命令jacobian,调用格式:
jacobian([函数;函数; 函数], [])给出矩阵:
求一元函数的导数.
例.求的导数.
解:打开matlab指令窗,输入指令:
dy_dx=diff(sin(x)/x).
得结果:
dy_dx=cos(x)/x-sin(x)/x^2.
matlab的函数名允许使用字母、空格、下划线及数字,不允许使用其他字符,在这里我们用dy_dx表示
例.求的导数.
解: 输入命令:
dy_dx=diff(log(sin(x))).
得结果:
dy_dx=cos(x)/sin(x).
在matlab中,函数用log(x)表示,而log10(x)表示
例.求的导数.
解: 输入命令:dy_dx=diff((x^2+2*x)^20).
得结果:
dy_dx=20*(x^2+2*x)^19*(2*x+2).
注意输入时应为2*x.
例.求的导数.
解: 输入命令:
dy_dx=diff(x^x).
得结果:
dy_dx =x^x*(log(x)+1).
利用matlab 命令diff一次可以求出若干个函数的导数.
建议参考:http://hi.baidu.com/%B1%B1%BE%A9%CE%D2%B0%AE%C4%E3/blog/item/bd0b80f8771d151ed9f9fdd6.html
建立符号变量命令sym和syms调用格式:
x=sym('x'), 建立符号变量x;
syms x y z , 建立多个符号变量x,y,z;
matlab求导命令diff调用格式:
diff(函数) , 求的一阶导数;
diff(函数, n) , 求的n阶导数(n是具体整数);
diff(函数,变量名), 求对的偏导数;
diff(函数, 变量名,n) ,求对的n阶偏导数;
matlab求雅可比矩阵命令jacobian,调用格式:
jacobian([函数;函数; 函数], [])给出矩阵:
求一元函数的导数.
例.求的导数.
解:打开matlab指令窗,输入指令:
dy_dx=diff(sin(x)/x).
得结果:
dy_dx=cos(x)/x-sin(x)/x^2.
matlab的函数名允许使用字母、空格、下划线及数字,不允许使用其他字符,在这里我们用dy_dx表示
例.求的导数.
解: 输入命令:
dy_dx=diff(log(sin(x))).
得结果:
dy_dx=cos(x)/sin(x).
在matlab中,函数用log(x)表示,而log10(x)表示
例.求的导数.
解: 输入命令:dy_dx=diff((x^2+2*x)^20).
得结果:
dy_dx=20*(x^2+2*x)^19*(2*x+2).
注意输入时应为2*x.
例.求的导数.
解: 输入命令:
dy_dx=diff(x^x).
得结果:
dy_dx =x^x*(log(x)+1).
利用matlab 命令diff一次可以求出若干个函数的导数.
建议参考:http://hi.baidu.com/%B1%B1%BE%A9%CE%D2%B0%AE%C4%E3/blog/item/bd0b80f8771d151ed9f9fdd6.html
参考资料: http://hi.baidu.com/%B1%B1%BE%A9%CE%D2%B0%AE%C4%E3/blog/item/bd0b80f8771d151ed9f9fdd6.html
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
展开全部
判断函数的性质
下面我们就以带绝对值的正选函数f(x)=sin|x|为例来求导。先来判断一下一下该函数的性质。我们先用matlab画一下该函数的图形,具体代码如下:
%画出f(x)=sin|x|图形
clear
x=-2*pi:pi/20:2*pi;
y=sin(abs(x));
plot(x,y,'r','LineWidth',1.5)
title('函数f(x)=sin|x|图形'),xlabel('x'),ylabel('y')
函数图形为:
x≥0,有导数的定义求右导数
当x≥0时,我们可以去掉函数中的绝对值,这时候函数f就变为:f(x)=sinx,这时候求右导数就简单多了,不过还是得用定义发求右导数。具体代码以及计算结果请看下图:
x≤0,由导数的定义求左导数
同理,当x≤0时,去掉函数中的绝对值,f就变为:f(x)=sin(-x).。用定义发求左导数。具体代码以及计算结果请看下图,有图上的结果再结合上一部结论可以得出,f(x)在x=0点的导数不存在,而且在小于0的区间和大于0的区间导数不一致。
直接利用diff求导
matlab提供了一个直接求函数导数的指令diff,然而当函数含有绝对值时候是否还有效呢?我们来探索一下。有下图中可以看出,当x=0时,函数的导数出现了错误的结果。
画出图形代码
下面我们画出函数f(x)、两个区间分别的导数图形。具体代码如下图所示:
画出的图形如下图所示:
下面我们就以带绝对值的正选函数f(x)=sin|x|为例来求导。先来判断一下一下该函数的性质。我们先用matlab画一下该函数的图形,具体代码如下:
%画出f(x)=sin|x|图形
clear
x=-2*pi:pi/20:2*pi;
y=sin(abs(x));
plot(x,y,'r','LineWidth',1.5)
title('函数f(x)=sin|x|图形'),xlabel('x'),ylabel('y')
函数图形为:
x≥0,有导数的定义求右导数
当x≥0时,我们可以去掉函数中的绝对值,这时候函数f就变为:f(x)=sinx,这时候求右导数就简单多了,不过还是得用定义发求右导数。具体代码以及计算结果请看下图:
x≤0,由导数的定义求左导数
同理,当x≤0时,去掉函数中的绝对值,f就变为:f(x)=sin(-x).。用定义发求左导数。具体代码以及计算结果请看下图,有图上的结果再结合上一部结论可以得出,f(x)在x=0点的导数不存在,而且在小于0的区间和大于0的区间导数不一致。
直接利用diff求导
matlab提供了一个直接求函数导数的指令diff,然而当函数含有绝对值时候是否还有效呢?我们来探索一下。有下图中可以看出,当x=0时,函数的导数出现了错误的结果。
画出图形代码
下面我们画出函数f(x)、两个区间分别的导数图形。具体代码如下图所示:
画出的图形如下图所示:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询