% Uppgift 5.2 och 5.7 %% Uppgift 5.2 %% % Jag har kopierat data från Mongomerys hemsida. "Klickkopiera" kolumnen i % Excelfilen. Skriv in XD=[ och tryck CTRL-C avsluta med ] XD=[6 9 10 15 10 4 6 11 7 8 10 5 8 9 6 13 9 10 7 13 12 11 10 10 16 10 8 9 7 5 10 4 9 7 8 12 15 16 10 13 8 12 14 16 6 13 9 11 16 9 13 15 7 13 10 12 11 7 10 16 15 10 11 14 9 8 12 10 15 7 10 11 8 6 9 12 13 14 11 15]; %% %% % Jag omformar vektorn X till en matris med 20 rader och 4 kolumner med % kommandot *reshape*. % Kommandot *mean* beräknar medelvärdet för varje kolumn i matrisen. För % att räkna ut medelvärdet på raderna måste X transponeras först. Samma % gäller för *max* kommandot. X=reshape(XD,4,20)'; XM=mean(X')'; R=(max(X')-min(X'))'; % Range för varje provgrupp RM=mean(R); % Medelrangen XMM=mean(XM); % Totala medelvärdet %% X-R diagrammet %% % Här delar vi upp figuren i två delar. Kommandot *hold* gör så att man kan % rita flera plottar på varandra utan att den gamla raderas. subplot(2,1,1) hold plot( XM,'o-k'); % o betyder tecknet o, - betyder rakt och helt streck, k betyder svart. A2=0.729; UCL=XMM+A2*RM; CL=XMM; LCL=XMM-A2*RM; plot(XM*0+UCL,'--'); plot(XM*0+LCL,'--'); plot(XM*0+CL,'--'); %xlabel('Provgruppsnummer') ylabel('Spänning (V)') title('X-diagram') text(length(XM)-1,UCL,['UCL = ', num2str(round(UCL*100)/100)]); % Exempel på hur man kan blanda text och variabelvärden. text(length(XM)-1,CL,['CL = ', num2str(round(CL*100)/100)]); text(length(XM)-1,LCL,['LCL = ', num2str(round(LCL*100)/100)]); %%%%%%%%%%%%%%%% subplot(2,1,2); hold plot(R,'o-k') D4=2.282; D3=0; UCL=D4*RM; CL=RM; LCL=0; plot(R*0+UCL,'--'); plot(R*0+LCL,'--'); plot(R*0+CL,'--'); xlabel('Provgruppsnummer') ylabel('Spänning (V)') title('R-diagram') text(length(R)+1,UCL,'UCL') text(length(R)+1,CL,'CL') %% % %% Uppgift 5.7 x-s-diagram %% % Beräknar standardavvikelsen för varje rad. Observera att jag måste % transponera (använd tecknet *'* för transponering) matrisen eftersom kommandot *std* beräknar standardavvikelsen % för varje kolumn. Sedan transponerar jag resultatet så att jag åter får % en kolumnvektor. S=(std(X'))'; SM=mean(S); figure subplot(2,1,1); hold plot( XM,'o-k'); % o betyder tecknet o, - betyder rakt och helt streck, k betyder svart. A3=1.628; UCL=XMM+A3*SM; CL=XMM; LCL=XMM-A3*SM; plot(XM*0+UCL,'--'); plot(XM*0+LCL,'--'); plot(XM*0+CL,'--'); ylabel('Spänning (V)') title('X-diagram') text(length(XM)+1,UCL,'UCL') text(length(XM)+1,CL,'CL') text(length(XM)+1,LCL,'LCL') %%%%%%%%%%%%%%%% subplot(2,1,2); hold plot(S,'o-k') B4=2.266; B3=0; UCL=B4*SM; CL=SM; LCL=0; plot(S*0+UCL,'--'); plot(S*0+LCL,'--'); plot(S*0+CL,'--'); xlabel('Provgruppsnummer') ylabel('Spänning (V)') title('s-diagram') text(length(R)+1,UCL,'UCL') text(length(R)+1,CL,'CL') %% Är data normalfördelade?? %% % Kommandot *figure* startar en ny figur. Subplotkommandot delar upp % figuren i två axel-system. % Kommandot *hist* ritar ett histogram. Om man vill ange hur många staplar % som skall ritas så skulle man kunna skriva *hist(XD,5)* om man nu ville % ha 50 staplar. % Kommandot *normplot* ritar en normalplot av data. Ligger data längs en % rak linje så är de normalfördade. figure subplot(1,2,1) hist(XD) subplot(1,2,2) normplot(XD)