DAY9 MATLAB学习笔记—高等数学问题求解

最小二乘拟合直线:
clear all;
X=[1.2 3.4 4.5 6.3 7.1 8.2 9.5 10.3 13.6];
figure;
plot(X,‘b*’);
h=lsline
正态分布的概率图:
clear all;
X=normrnd(0,1,100,1);
figure;
H=normplot(X)
经验累积分布函数图:
clear all;
X=normrnd(0,1,100,1);
[h,stats]=cdfplot(X)
威布尔概率图:
clear all;
a=weibrnd(1,2,50,1);
b=weibrnd(3,8,50,1);
X=[a b];
H=weibplot(X)
分位数: 分位数图
clear all;
X=normrnd(1,4,50,1);
Y=normrnd(5,9,50,1);
figure;
H1=qqplot(X)
figure;
H2=qqplot(X,Y)
添加参考线:
clear all;
X=[1.4 2.3 3.9 4.0 4.5 5.5 6.6 7.3 8.6 9.9];
figure;
plot(X,‘r+’);
h=refline(1,0.1) % 斜率为1 截距为0.1
添加多项式曲线:
clear all;
X=[10.3 12.4 15.8 16.1 13.4 11.4 6.3 0.6 -9.6 -16.9];
figure;
plot(X,‘r+’);
p=[-1 7 3];
h=refcurve§
插值(根据有限点形成曲线):
一维多项式插值:
clc;
clear all;
x=0:0.2:2;
y=(x.^2-3*x+5).exp(-3x).*sin(x);
xi=0:0.03:2; %要插值的数据
yi_nearest=interp1(x,y,xi,‘nearest’); %临近点插值
yi_linear=interp1(x,y,xi); %默认为线性插值
yi_spine=interp1(x,y,xi,‘spine’); %三次样条插值
yi_pchip=interp1(x,y,xi,‘pchip’); %分段三次Hermite插值
yi_v5cubic=interp1(x,y,xi,‘v5cubic’); %MATLAB5中三次多项式插值
figure; %画图显示
hold on;
subplot(231);
plot(x,y,‘ro’);
title(‘已知数据点’);
subplot(232);
plot(x,y,‘ro’,xi,yi_nearest,‘b-’);
title(‘临近点插值’);
subplot(233);
plot(x,y,‘ro’,xi,yi_linear,‘b-’);
title(‘线性插值’);
subplot(234);
plot(x,y,‘ro’,xi,yi_spine,‘b-’);
title(‘三次样条插值’);
subplot(235);
plot(x,y,‘ro’,xi,yi_pchip,‘b-’);
title(‘分段三次Hermite插值’);
subplot(236);
plot(x,y,‘ro’,xi,yi_v5cubic,‘b-’);
title(‘MATLAB5中三次多项式插值’);
采用一维快速傅立叶插值:
clc;
clear all;
x=0:1.1:8;
y=sin(x);
n=2 *length(x); %增采样1倍
yi=interpft(y,n);%采用一维快速傅立叶插值
xi=0:0.55:8.3;%要插值的数据
figure;%画图显示
hold on;
plot(x,y,‘ro’,xi,yi,‘b-’);
legend(‘原始数据’,‘插值后结果’);
三次样条插值:
clc;
clear all;
x=0:10;%原始数据
y=sin(x);
xi=0:.25:10;%插值数据
yi=spline(x,y,xi);%三次样条插值
pp=spline(x,y);%产生插值函数
y1=ppval(pp,xi); %结果相同y1=yi
y2=interp1(x,y,xi,‘spline’); %结果相同y2=yi
figure;%画图显示
plot(x,y,‘o’,xi,yi);
legend(‘原始数据’,‘三次样条插值’);
极限:
clc;
clear all;
syms x;
f=(3 * x^ 2-1)/(3 * x^2-2 *x+3);
y=limit(f,x,1) %趋近于1

clc;
clear all;
syms x;
f=sin(sin(x))/x;
y=limit(f,x,0) %趋近于0

clc;
clear all;
syms x;
f=(1+3/x)^(4*x);
y=limit(f,x,inf) %趋近于无穷大

右极限:
clc;
clear all;
syms x;
f=((x^x) ^x);
y=limit(f,x,0,‘right’)
牛顿插值:
unction Newton_main()
clc
x=0:1:10;
y=x./(tan(x)+1);
k=1;
for x0=0:0.01:10;
y0(k)=Newton(x,y,x0);
k=k+1;
end
x0=0:0.01:10;
plot(x0,y0)
hold on
scatter(x,y,‘ro’)

end

function y0=Newton(x,y,x0)
n=length(x);
A=zeros(n);
A(:,1)=y’;
for j=2:n
for i=1:(n-j+1)
A(i,j)=(A(i+1,j-1)-A(i,j-1))/(x(i+j-1)-x(i));
end
end

N(1)=A(1,1);
for j=2:n
T=1;
for i=1:j-1
T=T*(x0-x(i));
end
N(j)=A(1,j)*T;
end
y0=sum(N);
end
6.45

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值