2014/11/18 確率統計(2014年度) 第1章 MATLABデモ 電子情報工学科 確率統計・MATLABデモ 1章 1 MATLABで度数分布表(図)を作る MATLABで度数分布表(図)を作るヒント ステップ1 ベクトル中条件満足の要素を抽出 data(data<10); %ベクトルdata中10より小い要素を抽出 data=[1 3 45 534 3 564 6 43]; data(data<10) ans = 1 3 3 6 確率統計・MATLABデモ 1章 2 1 2014/11/18 MATLABで度数分布表(図)を作る ステップ2 計算各度数集合のサイズ data=[1 3 45 534 3 564 6 43]; buffa=data(data<10); %10より小さい要素を抽出 buffb=data(data<=2);%2より小さい要素を抽出 leng=length(buffa)‐length(buffb) %各度数集合のサイズ合計 leng = 3 確率統計・MATLABデモ 1章 3 MATLABで平均値(算術)を求める , , ,……, の平均値を求める ∑ ⋯ 行列で平均値を求める 1 1,1,1, … … , 1 確率統計・MATLABデモ 1章 4 2 2014/11/18 平均値を求めるMATLAB例 clc,clear; x=[1,4,5,8,7,58,58,14]; %設定行ベクトルX lengx=length(x); %行列Xの長さを計算 onex=ones(lengx,1);%設定全1列ベクトルonex Ex=x*onex/lengx %平均値を計算 %MATLAB専用関数で Ex_mat=mean(x) 確率統計・MATLABデモ 1章 5 MATLABで平均値(幾何)を求める , , ,……, の幾何平均を求める … 幾何平均を求めるMATLAB例 gmean=prod(x).^(1/length(x)) %prod(x)はベクトルxの各要素の積を求める関 数 確率統計・MATLABデモ 1章 6 3 2014/11/18 MATLABで中央値を求める 中央値:順に並べた行列 長さNが奇数の場合は、(N+1)/2番目の測定値 は中央値 偶数の場合は、N/2番目の測定値とN/2+1 番 目の測定値の算術平均は中央値 確率統計・MATLABデモ 1章 7 MATLABで中央値を求める x=sort(x,‘descend’) %要素を降順に並べ if(mod(length(x),2)==1) %奇数の場合は mid=x((length(x)+1)/2) %(N+1)/2番目の測定値は中央値 else %偶数の場合は mid=x(length(x)/2)+x(length(x)/2+1); mid=mid/2 %N/2とN/2+1番目の測定値の算術平均 end 確率統計・MATLABデモ 1章 8 4 2014/11/18 MATLABで分散を求める , , ,……, の分散を求める 1 行列で求める 1 1 ̅ 1 EX ̅ Ex 1,1,1, … … , 1 確率統計・MATLABデモ 1章 9 分散を求めるMATLAB例 clc;clear; x=[1,4,5,8,7,58,58,14]; %設定行ベクトルX lengx=length(x); %行列Xの長さを計算 onex=ones(lengx,1);%設定全1列ベクトルonex Ex=x*onex/lengx; %平均値を計算 Vx=x*x'/lengx-Ex*Ex sigmax=sqrt(Vx) %標準偏差 %MATLAB専用関数で Vx_mat=var(x,1) sigmax=sqrt(Vx_mat) %標準偏差 確率統計・MATLABデモ 1章 10 5 2014/11/18 MATLABで相関係数を求める , ,……, と の相関係数 を求める 1 ∑ ̅ 1 1 ∑ , ,……, ∑ ̅ ̅ 1 ∑ 確率統計・MATLABデモ 1章 11 MATLABで相関係数を求める x=[8 6 11 22 14 17 18 24 19 23 26 40]; %ベクトルxを設置 y=[59 58 56 53 50 45 43 42 39 38 30 27]; %ベクトルyを設置 Ex=sum(x)/length(x); %ベクトルxの分散 Ey=sum(y)/length(y); %ベクトルyの分散 sigmax=sqrt(x*x'/length(x)‐Ex*Ex); %ベクトルxの標準偏差 sigmay=sqrt(y*y'/length(y)‐Ey*Ey); %ベクトルyの標準偏差 plot(x,y,‘o’,[Ex Ex],[min(y) max(y)],‘‐‐g’,[min(x) max(x)],[Ey Ey],‘‐ ‐g’); %xyの相関図を描く xlabel('x'); ylabel('y'); grid on r=(x*y‘/length(x)‐Ex*Ey)/(sigmax*sigmay) %xyの相関係数 確率統計・MATLABデモ 1章 12 6 2014/11/18 MATLABで回帰直線を求める , ,……, と , の回帰直線 = + を求める ,……, ̅ ∑ ̅ ∑ , ̅ ̅ ̅ 確率統計・MATLABデモ 1章 13 MATLABで回帰直線を求める x=[0,1,2,3,4,5,6,7,8,9,10]; %ベクトルxを設置 y=[4.70,7.86,9.84,13.35,15.65,18.20,22.23,24.15,28.41,29.75,32.58]; %ベクトルyを設置 Ex=sum(x)/length(x); %xの平均値 Ey=sum(y)/length(y); %yの平均値 mx=x‐Ex; %ベクトル ̅ の設置 my=y‐Ey; %ベクトルy の設置 A=(mx*my‘)/(mx*mx’); %線形係数をもとめ bias=Ey‐A*Ex; %バイアスをもとめ newy=A*x+bias; %回帰直線をもとめ plot(x,y,‘o’,x,newy); %生データと回帰直線を描く xlabel('x'); ylabel('y'); grid on legend('生データ','回帰直線'); char_title=sprintf('y=%.2f*x+%.2f',A,bias); title(char_title) 確率統計・MATLABデモ 1章 14 7 2014/11/18 MATLABで回帰直線を求める 確率統計・MATLABデモ 1章 15 8
© Copyright 2024 ExpyDoc