(5.1) 一重积分
clc;clear;
x = linspace(0,2*pi,100);
y = sin(x);
I = trapz(x,y) %9.1073e-17,梯形积分法
clc;clear;
f = @(x) sin(x).*exp(x);
I_Simpson = quad(f,0,2*pi); %辛普森(Simpson)法
I_Guass_Lobatto = quadl(f,0,2*pi); %高斯-洛巴托(Gauss-Lobatto)法
I_Guass_Cronrod = quadgk(f,0,2*pi); %高斯-克朗罗德(Gauss-Cronrod)法
I_Integral = integral(f,0,2*pi); %全局自适应积分法
(5.2) 多重积分
I = integral2(f,a,b,c,d);
I = quad2d(f,a,b,c,d);
I = dblquad(f,a,b,c,d);
I = integral3(f,a,b,c,d,e,f);
I = triplequad(f,a,b,c,d,e,f);
(5.3) 函数零点
clc;clear;
f = @(x) cos(x);
zero_point1 = fsolve(f,1) %求f在3附近的零点
zero_point2 = fsolve(f,[1,2]) %求f在区间[1 2]内的零点,区间必须符合零点存在定理
clc;clear;
f = @(x) [ sin(x(1)) + x(2) + x(3).^2 .*exp(x(1)),x(1) + x(2) + x(3),x(1) .*x(2) .* x(3) ];
x = fsolve(f,[1,1,1]) %求方程组在(1,1,1)附近的解
(5.4) 函数极值
x = fminsearch(f,x0); %在点x0附近寻找f的极小值点x
x = fminbnd(f,x1,x2); %在区间[x1,x2]内寻找f的极小值点x
[x,fmin] = fminsearch(f,x0); %在点x0附近寻找f的极小值点x和极小值fmin
[x,fmin] = fminbnd(f,x1,x2); %在区间[x1,x2]内寻找f的极小值点x和极小值fmin
(5.5) 一维插值
clc;clear;
x = 0:0.2:2;
y = (x.^2 - 3*x + 5).*exp(-3*x).*sin(x);
xi = 0:0.003:2;
yi_linear = interp1(x,y,xi); %线性插值
yi_nearest = interp1(x,y,xi,'nearest'); %临近点插值
yi_spline = interp1(x,y,xi,'spline'); %三次样条插值
yi_pchip = interp1(x,y,xi,'pchip'); %分段三次Hermite插值
yi_v5cubic = interp1(x,y,xi,'v5cubic'); %MATLAB5中的三次多项式插值
figure;
subplot(231);
plot(x,y,'rp');
title('数据点');
subplot(232);
plot(x,y,'rp',xi,yi_linear,'g-');
title('线性插值');
subplot(233);
plot(x,y,'rp',xi,yi_nearest,'g-');
title('临近点插值');
subplot(234);
plot(x,y,'rp',xi,yi_spline,'g-');
title('三次样条插值');
subplot(235);
plot(x,y,'rp',xi,yi_pchip,'g-');
title('分段三次Hermite插值');
subplot(236);
plot(x,y,'rp',xi,yi_v5cubic,'g-');
title('MATLAB5中的三次多项式插值');
(5.6) 多维插值
clc;clear;
x = linspace(-3,3,10);
y = linspace(-3,3,10);
[X,Y] = meshgrid(x,y);
Z = peaks(X,Y);
xi = linspace(-3,3,20);
yi = linspace(-3,3,20);
[Xi,Yi] = meshgrid(xi,yi);
Zi_linear = interp2(X,Y,Z,Xi,Yi); %线性插值
Zi_nearest = interp2(X,Y,Z,Xi,Yi,'nearest'); %临近点插值
Zi_spline = interp2(X,Y,Z,Xi,Yi,'spline'); %三次样条插值
Zi_cubic = interp2(X,Y,Z,Xi,Yi,'cubic'); %三次多项式插值
figure;
hold on;
colormap(jet);
subplot(3,2,[1 2]);
surf(X,Y,Z);
title('原始图');
subplot(323);
surf(Xi,Yi,Zi_linear);
title('线性插值');
subplot(324);
surf(Xi,Yi,Zi_nearest);
title('临近点插值');
subplot(325);
surf(Xi,Yi,Zi_spline);
title('三次样条插值');
subplot(326);
surf(Xi,Yi,Zi_cubic);
title('三次多项式插值');
《 M A T L A B S Y N T A X 》 系 列 博 客 创 作 参 考 资 料 来 源 《MATLAB\ SYNTAX》系列博客创作参考资料来源 《MATLAB SYNTAX》系列博客创作参考资料来源
- 《自动控制原理实验教程》.巨林仓.西安交通大学出版社.
- 《MATLAB工程与科学绘图》.周博.薛世峰.清华大学出版社.
- 《MATLAB R2018a完全自学一本通》.刘浩.韩晶.电子工业出版社.
- 《科学计算与MATLAB语言》.刘卫国.蔡旭晖.吕格莉.何小贤.中国大学MOOC.
- 《MATLAB软件与基础数学实验》.李换琴.朱旭.王勇茂.籍万新.西安交通大学出版社.
- 《Matlab教程 - 图像处理》@正月点灯笼.https://www.bilibili.com.
- 《MATLAB从入门到秃头》@古德谓尔.https://www.bilibili.com.
博 客 创 作 : A i d e n L e e 博客创作:Aiden\ Lee 博客创作:Aiden Lee
特别声明:文章仅供学习参考,转载请注明出处,严禁盗用!