Contents

% 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')
Current plot held
Current plot held

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')
Current plot held
Current plot held

Ä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)