Ai
1 Star 0 Fork 0

Vincent/MATLAB_Study

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
lesson10.m 2.46 KB
一键复制 编辑 原始数据 按行查看 历史
VINCENT 提交于 2022-10-25 17:43 +08:00 . MATLAB学习(修改版2)
%%
%1求多项式在【-2,5】区间的数值
a = [9,-5,3,7]; x = -2:0.01:5;
f = polyval(a,x);
plot(x,f,'LineWidth', 2);
xlabel('x'); ylabel('f(x)');
set(gca, 'FontSize', 14)
%%
%2 多项式微分
p=[5 0 -2 0 1];
polyder(p)
%求f(x)在7的数组
polyval(polyder(p),7)
%%
%3多项式积分
p=[5 0 -2 0 1];
polyint(p, 3)
polyval(polyint(p, 3),7)
%%
%4两数之间差异
x = [1 2 5 2 1];
diff(x)
%%
%5两点之间的斜率
x = [1 2]; y = [5 7];
slope = diff(y)./diff(x)
%%
%6 x0点的斜率
x0 = pi/2; h = 0.1;
x = [x0 x0+h];
y = [sin(x0) sin(x0+h)];
m = diff(y)./diff(x)
%%
%7 求区间内微分数值
h = 0.5; x = 0:h:2*pi;
y = sin(x); m = diff(y)./diff(x);
%%
%积分sin(x)差值主键变小的图像
g = colormap(lines); hold on;
for i=1:4
x = 0:power(10, -i):pi;
y = sin(x); m = diff(y)./diff(x);
plot(x(1:end-1), m, 'Color', g(i,:));
end
hold off;
set(gca, 'XLim', [0, pi/2]);
set(gca, 'YLim', [0, 1.2]);
set(gca, 'FontSize', 18);
set(gca, 'FontName', 'symbol');
set(gca, 'XTick', 0:pi/4:pi/2);
set(gca, 'XTickLabel', {'0', 'p/4', 'p/2'});
h = legend('h=0.1','h=0.01','h=0.001','h=0.0001');
set(h,'FontName', 'Times New Roman'); box on;
%%
%exercise
a=exp(1);
h=0.1;
g = colormap(lines);
hold on;
for i=1:3
x = 0:h:2*pi;
y = a.^(-x).*sin(x.^2/2);
m = diff(y)./diff(x);
plot(x(1:end-1), m, 'Color', g(i,:));
h=0.1*h;
end;
set(gca, 'XLim', [0, 2*pi]);
set(gca, 'YLim', [-0.3,0.3]);
set(gca, 'FontSize', 18);
set(gca, 'FontName', 'symbol');
set(gca, 'XTick', 0:pi/2:2*pi);
h = legend('h=0.1','h=0.01','h=0.001');
set(h, 'fontname', 'Times New Roman');
box on;
%%
%二次跟三次微分
x = -2:0.005:2; y = x.^3;
m = diff(y)./diff(x);
m2 = diff(m)./diff(x(1:end-1));
plot(x,y,x(1:end-1),m,x(1:end-2),m2);
xlabel('x', 'FontSize', 18);
ylabel('y', 'FontSize', 18);
legend('f(x) = x^3','f''(x)','f''''(x)', 4);
set(gca, 'FontSize', 18);
%%
%求函数内的面积大小
h = 0.001; x = 0:h:2;
midpoint = (x(1:end-1)+x(2:end))./2;
y = 4*midpoint.^3;
s = sum(h*y)
%%
%梯形方法求函数在某区间内的范围(trapz方法)
h = 0.0001; x = 0:h:2; y = 4*x.^3;
s = h*trapz(y)
%%
%simpson方法
h = 0.05; x = 0:h:2; y = 4*x.^3;
s = h/3*(y(1)+2*sum(y(3:2:end-2))+...
4*sum(y(2:2:end))+y(end));
%%
%function方法(路径得对)
xy_plot(@tan,0:0.01:2*pi);
%%
%简单方法求数值积分
y = @(x) 1./(x.^3-2*x-5);
integral(y,0,2)
%%
%二重积分和三重积分
%二重积分
f = @(x,y) y.*sin(x)+x.*cos(y);
integral2(f,pi,2*pi,0,pi)
%三重积分
f = @(x,y,z) y.*sin(x)+z.*cos(y);
integral3(f,0,pi,0,1,-1,1)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
其他
1
https://gitee.com/Vincentstudy/MATLAB_Study.git
git@gitee.com:Vincentstudy/MATLAB_Study.git
Vincentstudy
MATLAB_Study
MATLAB_Study
master

搜索帮助