1.數(shù)據(jù)的導(dǎo)入和保存
1.1數(shù)據(jù)的導(dǎo)入
matlab中導(dǎo)入數(shù)據(jù)的函數(shù)通常為load
load matlab.mat
matlab中常用的導(dǎo)入數(shù)據(jù)的函數(shù)為importdata,用法如下:
imported_data = importdata('matlab.mat')
1.2 文件的打開
比較open與load的不同
clear all
a=rand(4);
b=magic(4);
save
Saving to: C:\Users\Administrator\Documents\MATLAB\mathematical modeling\2\matlab.mat
clear
load('matlab.mat')
a
b
clear
open('matlab.mat')
struc1=ans;
struc1.a
struc1.b
2.數(shù)據(jù)的統(tǒng)計與分析
2.1 常用統(tǒng)計量
- 算術(shù)平均數(shù),中位數(shù)
- mean(X) —— X為向量
- mean(A) —— A為矩陣个绍,返回各列元素的平均值
- median(X)
- 標準差浪汪,方差死遭,極差
clear all
clc
X=[15.60 13.41 17.20 14.42 16.61];
DX=var(X,1) %求解方差
sigma=std(X,1) %求解標準差
DX1=var(X) %求解樣本方差
sigma1=std(X) %求解樣本標準差
- var(X,1) —— 返回樣本的簡單方差(前置因子為1/n)
- std(X,1) —— 返回前置因子為1/n的標準差
- 偏度,峰度
在matlab中使用jbtest函數(shù)進行Jarque-Bera檢驗
調(diào)用格式為:
- h = jbtest(X) —— h=0,可認為服從正態(tài)分布钉迷;h=1,說明在顯著水平0.05下拒絕服從正態(tài)分布
- [H,P,JBSTAT,CV] = jbtest(X,alpha) —— alpha為指定顯著水平钠署,P為檢驗的p值
clear all
clc
x1=[5200 5056 561 6016 635 669 686 692 704 7007 711];
x2=[7013 7104 719 727 735 740 744 745 750 7076 777];
x3=[7086 7806 791 7904 821 822 826 834 837 8051 862];
x4=[8703 879 889 9000 904 922 926 952 963 1056 10074];
x=[x1 x2 x3 x4];
[H,P,JBSTAT,CV]=jbtest(x)
>
H =
1
P =
0.0218
JBSTAT =
8.0226
CV =
4.8466
由于H=1,P<0.05枷颊,有理由認為不服從正態(tài)分布。
3. 隨機數(shù)
3.1 二項分布隨機數(shù)
可以使用binornd產(chǎn)生二項分布隨機數(shù)
- R = binornd(N,P) —— NP為二項分布的兩個參數(shù)
- R = binornd(N,P,m,n) —— m為行數(shù)n為列數(shù)
clear all
clc
x=binornd(10,0.45,100000,1);
histogram(x,11);
3.2 泊松分布隨機數(shù)
泊松分布的表達式為:
調(diào)用格式:
y = poisspdf(x,Lambda)
clear all
clc
x=0:20;
y1=poisspdf(x,2.5);
y2=poisspdf(x,5);
y3=poisspdf(x,10);
hold on
plot(x,y1,':r*')
plot(x,y2,':b*')
plot(x,y3,':g*')
hold off
3.3 正態(tài)分布隨機數(shù)
提供函數(shù)normrnd
- R = normrnd(mu,sigma,m,n)
4.假設(shè)檢驗
4.1 方差已知時的均值假設(shè)檢驗
在給定方差的條件下可以使用ztest函數(shù),來檢驗單樣本數(shù)據(jù)是否服從給定均值的正態(tài)分布题造,調(diào)用格式
- h = ztest(x,m,sigma,alpha) —— 其中sigma是標準差界赔,alpha是顯著水平的控制參數(shù),m是判斷樣本的均值是否是m
clear all
clc
x1=[11.8 10.5 10.6 9.6 10.7 9.8 10.9 11.1 10.6 10.3];
x2=[10.2 10.6 9.8 12.2 10.6 9.8 10.6 10.1 9.5 9.9];
x=[x1 x2]';
m=10;sigma=0.4;a=0.05;
[h,sig,muci]=ztest(x,m,sigma,a,1)
h=1是可以認為在該顯著水平上拒絕零假設(shè)
4.2 正態(tài)總體均值假設(shè)檢驗
- 用于方差未知時的正態(tài)總體的均值的假設(shè)檢驗咐低,使用ttest函數(shù)
調(diào)用格式如下:
[h,sig,ci] = ttest(x,m,alpha,tail)
其中:
tail=0時表示制定備擇假設(shè)均值不等于m袜腥,tail=1時表示指定備擇假設(shè)均值大于m
clear all
clc
x=[169 180 131 182 234 274 188 254 232 172 165 249 249 180 465 192];
m=225;
a=0.05;
[h,sig,muci]=ttest(x,m,a,1)
- 方差未知時兩個正態(tài)總體均值的假設(shè)檢驗
clear all
clc
x=[82.45 86.21 83.58 79.69 75.29 80.73 72.75 82.35]';
y=[83.56 64.27 73.34 74.37 79.77 67.12 77.27 78.07 72.62]';
a=0.05;
[h,sig,ci]=ttest2(x,y,a,1)
h =
1
sig =
0.019504179277914
ci =
1.325223048786295
Inf
在顯著水平0.05下,可以判斷合金的硬度有提高鲤屡。
ci為均值差以真值的1-alpha置信區(qū)間
5.統(tǒng)計繪圖
1.線性回歸
clear all
clc
%做x和y的散點圖%
x=1:10;
y=[2650,1942,1493,1086,766,539,485,291,224,202];
for i=1:10
plot(x(i),y(i),'ok');
hold on
end
xlabel('x');
ylabel('y');
看起來成指數(shù)關(guān)系故對y取對
%做x和z的散點圖%
x=1:10;
y=[2650,1942,1493,1086,766,539,485,291,224,202];
z=zeros(size(y));
N=length(y);
for i=1:N
z(i)=log(y(i));
plot(x(i),z(i),'ok');
hold on
end
xlabel('x');
ylabel('y');
最后進行擬合:
x=1:10;
y=[2650,1942,1493,1086,766,539,485,291,224,202];
z=zeros(size(y));
N=length(y);
for i=1:N
z(i)=log(y(i));
end
[p,s]=polyfit(x,z,1)
p =
-0.298370334863784 8.167123993138752
s =
包含以下字段的 struct:
R: [2×2 double]
df: 8
normr: 0.231593652511713
因此有:
z = 8.1671-0.2984x
2.多元線性回歸
使用regress()酒来,調(diào)用格式如下:
[b,bint,r,rint,stats] = regress(y,x,alpha)
- b :輸出向量
- bint :回歸系數(shù)估計值和他們的置信區(qū)間
- r :殘差
- stats:用于檢驗回歸模型的統(tǒng)計量
clear all
clc
x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477];
x2=[0.450,0.475,0.485,0.500,0.535,0.545,0.550,0.575];
x3=[2.170,2.554,2.676,2.713,2.823,3.088,3.122,3.262];
x4=[0.8922, 1.1610,0.5346,0.9589, 1.0239, 1.0499,1.1065, 1.1387];
y=[5.19, 5.30,5.60,5.82,6.00,6.06,6.45,6.95];
save data x1 x2 x3 x4 y
load data %取出數(shù)據(jù)
Y=[y'];
x=[ones(size(x1')),x1',x2',x3',x4'];
% x=[ones(size(x1')),x1',x2',x3',x4'];
[b,bint,r,rint,stats]=regress(Y,x)
b =
-13.984929738072131
13.192039484762253
2.422801334278647
0.075351705837265
-0.189698161343466
bint =
-26.001910540334851 -1.967948935809410
1.412992683865971 24.971086285658536
-14.280792465224541 19.126395133781834
-1.485927625219084 1.636631036893614
-0.963788998494748 0.584392675807817
r =
-0.061841695502344
0.022836121353063
0.012283797815437
0.088954141756640
0.043085353569731
-0.147251341381197
0.014544938640025
0.027388683748707
rint =
-0.131017806908374 0.007334415903686
-0.229918483557968 0.275590726264095
-0.146412843148935 0.170980438779809
-0.375028670817865 0.552936954331145
-0.054600368143406 0.140771075282869
-0.334820783638826 0.040318100876432
-0.475344602360936 0.504434479640986
-0.271723565503547 0.326500933000961
stats =
0.984604459779746 47.965406492414637 0.004731534869980 0.012303538411269
所以分析模型為:
y = -13.9849+13.1920x1+2.4228x2+0.0753x3-0.1896x4