第一节 多元函数的基本概念
x=linspace(-2,2,100);
y=x;
[X,Y]=meshgrid(x,y);
Z=(X.^2+Y.^2).*sin(1./(X.^2+Y.^2));
mesh(X,Y,Z);
surf(X,Y,Z);
title('z=(x^2+y^2)*sin(1/(x^2+y^2));')
clear;close all;clc;
x=linspace(-1,1,100);
y=x;
[X,Y]=meshgrid(x,y);
Z=sin(1./(X+Y));
surf(X,Y,Z);
shading flat;
title('Z=sin(1/(X+Y))');
第二节 偏导数
第三节 全微分
第四节 多元复合函数的求导法则
第五节 隐函数的求导公式
第六节 多元函数微分学的几何应用
clear;close all;clc;
syms a b;
x=sin(a).*cos(b);
y=sin(a).*sin(b);
z=cos(a);
ezmesh(x,y,z,[0,pi,0,2*pi]);
clear;close all;clc;
syms x(a,b) y(a,b) z(a);
% 绘制空间曲面,一个球体
x(a,b)=sin(a).*cos(b);
y(a,b)=sin(a).*sin(b);
z(a)=cos(a);
fprintf("曲线参数方程:x=%s,y=%s,z=%s\n",x,y,z);
fsurf(x,y,z,[0,pi,0,2*pi],'EdgeColor','none');
shading flat;
hold on;
% 输入一个切点
x0=eval(x(pi/3,pi/3));
y0=eval(y(pi/3,pi/3));
z0=eval(z(pi/3));
str=['切点:',num2str(x0),num2str(y0),num2str(z0)];
text(x0,y0,z0,str);
fprintf("切点:(%d,%d,%d)\n",x0,y0,z0);
% 算出法向量,算出各自全微分=偏导相加,并绘制曲线切线:
dx=diff(x,a)+diff(x,b);
dy=diff(y,a)+diff(y,b);
dz=diff(z);
fprintf("法向量:(%s,%s,%s)\n",dx,dy,dz);
dx0=eval(dx(pi/3,pi/3));
dy0=eval(dy(pi/3,pi/3));
dz0=eval(dz(pi/3));
% 写出切线参数方程,并绘制空间切线(x-x0)/dx0=(y-y0)/dy0=(z-z0)/dz0
syms x(t) y(t) z(t);
x(t)=t;
y(t)=y0+dy0*(t-x0)/dx0;
z(t)=z0+dz0*(t-x0)/dx0;
fmesh(x,y,z,[-1,1],'EdgeColor','k');
fprintf("切点法向量:(%d,%d,%d)\n",dx0,dy0,dz0);
% 绘制法平面 Z=-(dx0.*(X-x0)+dy0.*(Y-y0))./dz0+z0
x=linspace(-1,1,100);
y=x;
[X,Y]=meshgrid(x,y);
Z=-(dx0*(X-x0)+dy0*(Y-y0))/dz0+z0;
mesh(X,Y,Z,'EdgeColor','m');
shading flat;
axis([-1,1,-1,1,-1,1]);
第七节 方向导数与梯度
第八节 多元函数的极值及其求法
第九节 最小二乘法