%%学习目标 排序 最值 标准差 方差
%排序
clear all;
x=[1 3 4;8 3 5;2 7 4]
yl=sort(x) %按列从小到大排序
y2=sort(x,2) %按行从小到大排序
y3=sort(x,1,'descend') %按列从大到小排序
%最值
%%求最大值和最小值的差
clear all;
X1=[1 3 4 10 3 5]
yl=range(X1)
X2=[1 3 5;2 4 6;8 4 3]
y2=range(X2)
y3=range(X2,2)
%%求最大值和最小值
clear all;
X1=[1 3 4 10 3 5]
yl=minmax(X1)
X2=[1 3 5;2 4 6;8 4 3]
y2=minmax(X2)
%标准差
clear all;
X1=[1 3 5;2 4 6;8 4 3]
y1=std(X1)
y2=std(X1,0)
y3=std(X1,1)
y4=std(X1,1,2)
%方差
clear all;
X1=[1 3 4 10 3 5]
yl=var(X1)
X2=[1 3 5;2 4 6;8 4 3]
y2=var(X2)
%区间参数估计 均匀分布
clear all;
X=unifrnd(2,8,20,3)
[a,b,aci,bci]=unifit(X,0.05) %置信度为95%
%指数分布
clear all;
X=exprnd(5,20,4)
[parmhat1,parmci1]=expfit(X,0.05) %置信度为95%
%%beta分布的参数估计
clear all;
X=betarnd(5,20,4,1)
[phat,pci]=betafit(X,0.05)
%%正态分布的参数估计
clear all;
X=betarnd(5,20,4,1)
[phat,pci]=betafit(X,0.05)
%%假设检验
%%方差已知时匠态总体值的假设检验
%%如果已知方差和均值
clear all;
X=[490 513 514 513 511 499 515 512 491];
[H1,P1,CI1,STATS1]=ztest(X,500,10,0.05,0) %显著性水平ALPHA-0.05 期望是500方差是10
[H2,P2,CI2,STATS2]=ztest(X,500,10,0.1,0)
%%方差和均值未知时
clear all;
X=[490 513 514 513 511 499 515 512 491];
[H1,P1,CI1,STATS1]=ttest(X,500,0.05,-1) %ALPHA-0.05 H0可以接受原假设
%%方差未知但是相等时
clear all;
X=[490 513 514 513 511 499 515 512 491];
Y=[490 513 514 513 511 499 515 512 491];
[H,P,CI,STATS]=ttest(X,Y,0.05,-1)
%% 分布一致性检验
clear all;
x=[3.2 7.0 2.8 4.5 7.5 2.3 5.8 1.4];
Y=[2.3 5.6 9.2 1.2 5.9 3.4 2.8 8.4 1.5 3.2];
[P,H,STATS]=ranksum(X,Y,0.05)
%%协方差和相关系数
%% 协方差
clear all;
X1=rand(1,5)
cl=cov(X1) %方差
X2=rand(1,5)
c2=cov(X2) %方差
c3=cov(X1,X2) %协方差
%%相关系数 如果不等于0说明相关,如果等于1或者-1说明是线性相关
clear all;
X=[1 2 3;3 4 6;7 4 2]
[R1,P1]=corrcoef(X)
x=[1 2 3 5 3 2];
y=[2 3 5 3 1 9];
R2=corrcoef(x,y)
%%偏斜度1
clcar all;
X=randn([4,5])
yl=skewness(X)
%%峰度
clear all;
X=randn([4,5])
yl=kurtosis(X)
%%正整数的频率表
clear all;
X=[2 3 4 1 2 1 6 5 8 3 2 1 6]
h=tabulate(X)
Z=h(1:end,1)
Y=h(1:end,end)
data=[Z Y]
subplot(2,2,1)
bar(data)
title('图1')
%%一元函数的绘制
clear all;
x=-2:0.1:4
figure;
plot(x,humps(x));
figure;
fplot(@humps,[-2,4]) %更加光滑
%%
clear all;
x=2*pi*[-1 1 -1 1]
figure;
fplot(@(x)[1/x,sin(x),cos(x)]);
legend('1/x','sin(x)','cos(x)');
%%绘制极坐标
clear all;
figure;
ezpolar('sin(8*t).*cos(8*t)',[0,pi])
%%符号函数的三维网格图
clear all;
figure;
ezmesh('x.*exp(x.^2-y.^2)')
%%带有等值线的三维网格图
clear all;
figure;
ezmeshc('x.*exp(-5*x.^2-8*y.^2)')
%%符号函数的等值线图
clear all;
figure;
ezcontour('x.*exp(-x.^2-y.^2)',[-3,3])
%%
%%三维彩色曲面图
clear all;
figure;
ezsurf('x.*y.^3/(x.^2+y.^3)')
%%带有等值线三维彩色曲面图
clear all;
figure;
ezsurfc('x.*y.^3/(x.^2+y.^3)')
%% 基本绘图函数
clear all;
t=0.1:0.01:2*pi
figure;
plot(t,sin(t),'r',t,cos(t),'y');
xlabel('x');
ylabel('y');
title('tu')
%%
clear all;
y=magic(4)
figure;
plot(y)
%%
clear all;
x=0.01:0.2:6*pi
y=cos(x)
figure;
plot(x,y,'g:^')
%%子图绘制和坐标轴控制
clear all;
x=-pi:pi/20:pi
figure;
subplot(2,2,1);
plot(x,sin(x),'r->');
subplot(2,2,2);
plot(x,cos(x),'b-^');
subplot(2,2,[3 4]);
plot(x,cos(x),'b-^');
%%
clear all;
t=0.1:0.01:pi
figure;
plot(sin(t),cos(t));
axis auto %设置坐标轴显示范围
clear all;
t=0.1:0.01:pi
figure;
plot(sin(t),cos(t));
axis ([-1 1 -2 2]) %设置坐标轴显示范围
clear all;
t=0.1:0.01:pi
figure;
plot(sin(t),cos(t));
axis off %取消坐标轴显示范围
%%网格线和边框的设置
clear all;
t=0.01:0.01:2*pi;
figure;
plot(t,sin(t));
axis([0 2*pi -1 1]);
grid on; %显示网格线
%%网格线和边框的设置
clear all;
t=0.01:0.01:2*pi;
figure;
plot(t,sin(t));
axis([0 2*pi -1 1]);
box off; %off关闭边框 on 打开边框
%%坐标轴的缩放问题
clear all;
t=0.01:0.01:2*pi;
figure;
subplot(1,2,1)
plot(t,sin(t));
axis([-5 10 -3 3]);
title('放大前');
subplot(1,2,2)
plot(t,sin(t));
axis([-5 10 -3 3]);
title('放大前');
zoom xon %放大
%%
clear all;
t=0.01:0.01:2*pi;
figure;
plot(t,sin(t));
pan on %图的拖拽
datacursormode on %获取数据点
%%绘制直线
clear all;
x=0.01:0.8:2*pi;
y=sin(x);
figure;
line(x,y);
%%极坐标绘图
clear all;
x=0.01:0.02:2*pi;
y=sin(2*x).*cos(2*x);
figure;
polar(x,y,'--r') %弧度 半径 线型
pan on %图的拖拽
datacursormode on %获取数据点
%双y轴绘图
clear all;
x=0.01:0.02:2*pi;
y=sin(2*x);
z=10.^x
figure;
plotyy(x,y,x,z);
%%文本框注释
clear all;
x=0.01:0.02:2*pi;
y=sin(x);
figure;
plot(x,y,'--b')
xlabel('x')
ylabel('sin(x)')
text(pi,sin(pi),'\leftarrow sin(\pi)=0');
text(0,0,'\leftarrow sin(0)=1');
%任意位置标注
clear all;
x=0.01:0.02:2*pi;
y=sin(x);
figure;
plot(x,y,'--b')
xlabel('x')
ylabel('sin(x)')
gtext('y=sin(x)','fontsize',10)
%%各类二维图的绘制
clear all;
figure;
x=[0.2 0.3 0.2]
subplot(121)
pie(x)
subplot(122)
y=[0.1 0.2 0.3 0.2 0.2];
explode=[0 0 1 0 0]; %%突出第三个
pie(y,explode)
%%绘制直方图
clear all;
figure;
x=randn(500,1) %标准正态分布
subplot(121)
hist(x);
subplot(122)
y=randn(800,1)
hist(y,-4:0.1:4)
%散点图
clear all;
figure;
x=[1 2 3 4 5]
y=[1 2 3 4 5]
subplot(121)
scatter(x,y);
subplot(122)
scatter(x,y,[],[1 0 0],'fill') %散点的颜色和填充
t=linspace (0,24*pi,1000);
r=exp(sin(t))-2*sin(4.*t)+(cos(t./5)).^6;
polar(t,r)
[x,y]=pol2cart(t,r);
figure;
plot(x,y)
%%三维图的绘制
clear all;
x=-10:0.1:10;
y=-10:0.1:10;
[x1,y1]=meshgrid(x,y);
z=x1.^2+y1.^2
figure %图形窗口
surf(x,y,z); %三维图的绘制函数
view([55 75]) %设置视角
colormap('cool'); %设置颜色
shading interp;
light('Position',[1 0.4 0.4]); %设置光照
axis square %坐标轴设置
%%三维图的曲线
clear all;
t=linspace(0,20*pi,500);
x=t.*sin(t)
y=t.*cos(t)
z=t
figure;
plot3(x,y,z)
%%多项式的建立
%1、通过多项式系数建立多项式
clc;
clear all;
a=[2 3 5 4];
y=poly2sym(a)
disp(y)
%2、通过多项式的根建立多项式
clc;
clear all;
a=[2 3 5 4];
s=poly(a)
y=poly2sym(s)
disp(y)
%%多项式的求值
%1、多项式求值
clc;
clear all;
a=[2 3 5 4];
x=1:6;
y=polyval(a,x)
%%多项式求值的另一种函数,导致结果不一样
clc;
clear all;
a=[2 3 5 4];
x=[2 3;5 4];
y=polyvalm(a,x) %采用polyvalm()函数,以矩阵为计算单位
%多项式求根
clc;
clear all;
p=[1 0 0 -5 -2];
x1=roots(p)
x2=[2 4];
y=poly(x2);
y=poly2sym(y)
%多项式的四则运算
%乘法
clc;
clear all;
p1=[1 0 0 -5 -2];
p2=[2 4 5 -5 -2];
q=conv(p1,p2);
[k,r]=deconv(p1,p2)
poly2sym(q)
y1=poly2sym(k)
y2=poly2sym(r)
%%多项式求导
clc;
clear all;
p1=[1 0 0 -5 -2];
p2=[2 4 5 -5 -2];
y1=polyder(p1) %对多项式p1求导
y1=poly2sym(y1)
y2=polyder(p1,p2) %对多项式pl和p2的乘积求导
y2=poly2sym(y2)
[q,d]=polyder(p1,p2) %对多项式p1除以p2的商求导
q=poly2sym(q)
d=poly2sym(d)
%%多项式积分
clc;
clear all;
p1=[2 6 8];
y1=polyint(p1,7) %对多项式pl进行积分,常数项为7
y1=poly2sym(y1)
y2=polyint(p1) %对多项式p1进行积分,默认常数项为0
%多项式的拟合
clc;
clear all;
x=[0.2 0.3 0.5 0.6 0.8 0.9 1.2 1.3 1.5 1.8]
y=[1 2 3 5 6 7 6 5 4 1]
p5=polyfit(x,y,5)
y5=polyval(p5,x)
p5=vpa(poly2sym(p5),5)%显示5阶多项式
p9=polyfit(x,y,9)
y9=polyval(p9,x)
p9=vpa(poly2sym(p9),9)%显示9阶多项式
figure;
plot(x,y5)
hold on
plot(x,y)
plot(x,y9)
%%最小二乘法拟合直线
clear all;
x=[1.2 3.4 4.5 6.3 7.1 8.2 9.5 10.3 13.3]
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)
figure
h=cdfplot(x)
%威布尔概率图
clear all;
x=wblrnd(1,2,50,1)
y=wblrnd(3,8,50,1)
a=[x y]
h=wblplot(x)
%分位数 分位数图
clear all;
x=normrnd(1,2,50,1)
y=normrnd(3,8,50,1)
figure
h1=qqplot(x)
figure
h2=qqplot(x,y)
%%添加参考线
clear all;
x=[1.2 3.4 4.5 6.3 7.1 8.2 9.5 10.3 13.3]
figure
plot(x,'r-')
h=refline(1,0.1) %%斜率为1 截距为0.1
%%添加多项式曲线
clear all;
x=[1.2 3.4 4.5 6.3 7.1 8.2 9.5 10.3 13.3]
figure
plot(x,'r+')
p=[-1 7 3]
h=refcurve(p)
%%插值
clc
clear all;
x=0:0.2:2;
y=(x.^2-3*x+5).*exp(-3*x).*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') %分段三次1ermite插值
yi_v5cubic=interp1(x,y,xi,'v5cubic') %MATLAB5中三次多项式插值
figure
hold on
plot(xi,yi_nearest)
plot(xi,yi_linear)
plot(xi,yi_spine)
plot(xi,yi_pchip)
plot(xi,yi_v5cubic)
%%采用一维快速傅里叶插值
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: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时
%%拉格朗日插值
clear all;
x=[0.1 0.2 0.15 0 -0.2 0.3];
y=[0.95 0.84 0.86 1.06 1.5 0.72]
xi=-0.2:0.01:0.3;
yi=Lagrange(x,y,xi)
figure;
plot(x,y,'o',xi,yi,'k')
MATLAB学习笔记2
最新推荐文章于 2024-09-21 21:34:01 发布