如何利用MATLAB来求二元函数的一阶偏微分

如何利用MATLAB来求二元函数的一阶偏微分

在上一篇文章中我写到了如何用差分法来求像y=f(x)这样的一元函数的一阶二阶导数,那如果是像f=f(x,y)这样的二元函数,怎么利用差分法求它们的偏微分呢?

###代码:
%中心差分f(x,y)一阶数值求偏导(也叫做有限元差分)
clear all
clc
hx=0.1;
x=-4:hx:4;
hy=0.1;
y=-6:hy:6;
for j=1:length(x)
for k=1:length(y)
f(j,k)=exp(-(x(j)2+y(k)2)/2);
end
end
for j=2:length(x)-1
for k=2:length(y)-1
dfx(j,k)=(f(j+1,k)-f(j-1,k))/2/hx;
end
end
for k=2:length(y)-1
for j=2:length(x)-1
dfy(j,k)=(f(j,k+1)-f(j,k-2))/2/hy;
end
end

你可能感兴趣的:(如何利用MATLAB来求二元函数的一阶偏微分)