
如何用matlab求偏导数?
何谓偏导数,闹雀就是多元函数在某个自变量单独变化时的变化率,在matlab求偏导数仍可以用通过diff函数来实现。其使用格式乱弯慧为
f1=diff(f,x,.....x(m项),y,.....y(n项))
为了说明使用方法,列举如下
第一问:
syms x y %声明变量
z=(x^2-2*x)*exp(-x^2-y^2-x*y)%函数表达式
zx=diff(z,x) %z对x的一阶偏导数
zy=diff(z,y) %z对y的一阶偏导数
第二问:哗答
syms x y z %声明变量
f(x,y,z)=sin(x^2*y)*exp(-x^2*y-z^2)%函数表达式
F=diff(f,x,x,y,z) %直接计算高阶偏导数
F=simplify(F)
matlab求培滑悔偏导步骤如下。
1、第一步,双击打开matlab。让伏
2、第二步,定义两个变量a、b,在窗口中输入代码:syms a b。
3、第三步,定义一个多元函数用于求偏导数,输入代码:f=exp(a)*exp(b),即f=a^2*b^2。
4、第四步,分别对a、b求解偏导数,输入两行代码:dfa=diff(f,a)和dfb=diff(f,b)。
5、第五步,查看两个偏导数的图像,
输入代码:subplot(2,2,1:2),ezsurf(f),subplot(223),ezsurf(dfa),subplot(224),ezsurf(dfb)。
6、第六配正步,点击运行,选择本地磁盘的位置保存程序(注意文件名需要用因为开头且不能有中文)。
7、第七步,再次点击运行查看该函数的偏导求解图像如下:
可以调用 diff 函数求导。举例说薯亮漏明:
先定义符号 x、y 以及符号二元函数表达式 z,然后调用 diff 函数求偏导,代码如下:
clcclear
syms x y
z=x^2+y^2+exp(x*y)
z_x=diff(z,x,1)
z_y=diff(z,y,1)
z_x2=diff(z,x,2)
z_y2=diff(z,y,2)
z_xy=diff(z,x,y)
结果如下:
z_x =
2*x + y*exp(x*y)
z_y =
2*y + x*exp(x*y)
z_x2 =
y^2*exp(x*y) + 2
z_y2 =
x^2*exp(x*y) + 2
z_xy =
exp(x*y) + x*y*exp(x*y)
图中调用了5次diff函数,分别计算了 z 对 x 的一数烂阶偏导,z 对 y 的一阶偏导,z 对 x 的二阶偏导,z 对 y 的二阶偏导,以及 z 对 x,y 都求一次偏导。
例子中所用的调用格式为:diff(f,var,n)
f 为符号表达式,也可以键猛是符号函数(这个数据类型低版本的matlab没有)。n 为求导次数,缺省为1。var 为求导的符号变量,可以缺省(matlab会根据表达式自己选择一个),但不建议缺省,除非表达式只含有一个符号变量。
此外,matlab还允许 diff(f,n,var)与 diff(S,v1,v2,...,vn)的调用形式。
diff(f,v1,v2,...,vn) 会把表达式 f 对变量 v1,v2 等 n 个变量都求一次偏导,得到 f 的 n 阶偏导。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)