לדלג לתוכן

קובץ:MATLABMovingAverageChart.png

תוכן הדף אינו נתמך בשפות אחרות.
מתוך ויקיפדיה, האנציקלופדיה החופשית

MATLABMovingAverageChart.png(561 × 420 פיקסלים, גודל הקובץ: 4 ק"ב, סוג MIME‏: image/png)

ויקישיתוף זהו קובץ שמקורו במיזם ויקישיתוף. תיאורו בדף תיאור הקובץ המקורי (בעברית) מוצג למטה.

תקציר

תיאור
English: A en:MATLAB-generated moving average en:Control chart for a process that experienced a 1.5σ drift starting with the 63rd unit produced.
תאריך יצירה
מקור נוצר על־ידי מעלה היצירה
יוצר DanielPenfield

רישיון

אני, בעל זכויות היוצרים על עבודה זו, מפרסם בזאת את העבודה תחת הרישיון הבא:
w:he:Creative Commons
ייחוס שיתוף זהה
הקובץ הזה מתפרסם לפי תנאי רישיון קריאייטיב קומונז ייחוס-שיתוף זהה 3.0 לא מותאם.
הנכם רשאים:
  • לשתף – להעתיק, להפיץ ולהעביר את העבודה
  • לערבב בין עבודות – להתאים את העבודה
תחת התנאים הבאים:
  • ייחוס – יש לתת ייחוס הולם, לתת קישור לרישיון, ולציין אם נעשו שינויים. אפשר לעשות את זה בכל צורה סבירה, אבל לא בשום צורה שמשתמע ממנה שמעניק הרישיון תומך בך או בשימוש שלך.
  • שיתוף זהה – אם תיצרו רמיקס, תשנו, או תבנו על החומר, חובה עליכם להפיץ את התרומות שלך לפי תנאי רישיון זהה או תואם למקור.

Source code

#!/usr/bin/perl -w

#
# randomly generate process observations that simulate a
# normally-distributed process in the state of statistical control
# (i_setup.csv) and simulate the same process experiencing a drift of
# magnitude $drift starting two hours into the $shift shift
# (i_monitoring.csv)
#

use strict;
use Math::Random;

my %shiftSchedule = (
    "first" =>  { "start" =>  6.00, "end" => 14.00 },
    "second" => { "start" => 14.00, "end" => 22.00 },
    "third" =>  { "start" => 22.00, "end" =>  6.00 }
);
my $shift = "third";         # shift to monitor
my $inspectionRate = 1 / 2;  # every 1/2 hour
my $drift = 1.5;             # drift to simulate
my $m = 25;                  # samples in control chart setup
my $target = 100.0;          # quality characteristic target

my $i;
my $observation;
my $setupM = $m;

#
# simulate control chart setup
#
open(SETUPCSV, ">i_setup.csv") || die "! can't open \"i_setup.csv\" ($!)\n";
for ($i = 1; $i <= $m; $i++) {
    $observation = $target + random_normal();
    print SETUPCSV $observation . "\r\n";
}
close(SETUPCSV);

#
# simulate control chart monitoring
#
open(MONITORINGCSV, ">i_monitoring.csv") || die "! can't open \"i_monitoring.csv\" ($!)\n";

if ($m < 0) {
    $m += 24;
}
$m /= $inspectionRate;
for ($i = 1; $i <= $m; $i++) {
    $observation = $target + random_normal();
    if ($i >= (0.25 * $m)) {
        if ($i < (0.75 * $m)) {
            $observation += ($drift / (0.5 * $m)) * ($i - (0.25 * $m));
        } else {
            $observation += $drift;
        }
    }
    printf MONITORINGCSV "U%d,%7.3f\r\n", 2 * $setupM + $i, $observation;
}
close(MONITORINGCSV);
%
% display an individuals moving average control chart in MATLAB
%
clear

%
% Phase I
%
% compute the control chart center line and control limits based on a
% process that is simulated to be in a state of statistical control
%
setupobservations = csvread('i_setup.csv');
setupstats = controlchart(setupobservations, 'charttype', 'ma');

%
% Phase II
%
% read in the process observations representing the monitoring phase
%
observations = importdata('i_monitoring.csv');

%
% first column is the time of the observation (24 hour clock)
%
halfhourlylabel = observations.rowheaders;

%
% second column consists of the observations (counts of
% nonconformances per rational subgroup)
%
monitoringobservations = observations.data;

%
% just display labels on the "on the hour" ticks
%
emptylabel = cell(size(monitoringobservations,1) - size(halfhourlylabel,1), 1);
emptylabel(:) = {''};
hourlylabel = vertcat(halfhourlylabel(10:10:end), emptylabel);

%
% plot the control chart for the monitoring phase observations
%
monitoringstats = controlchart(monitoringobservations, ...
							   'charttype', 'ma', ...
							   'label', halfhourlylabel.', ...
							   'mean', setupstats.mu, ...
							   'sigma', setupstats.sigma); % despite the name this appears to be a moving range
title('MA chart for quality characteristic XXX')
xlabel('Unit')
ylabel('Moving average (units)')
%
% the labels supplied to controlchart() only appear when the user
% selects a plotted point with her mouse--we have to explicitly
% set labels in the X axis if we want them
%
set(gca,'XTickLabel', hourlylabel)

כיתובים

נא להוסיף משפט שמסביר מה הקובץ מייצג

פריטים שמוצגים בקובץ הזה

מוצג

היסטוריית הקובץ

ניתן ללחוץ על תאריך/שעה כדי לראות את הקובץ כפי שנראה באותו זמן.

תאריך/שעהתמונה ממוזערתממדיםמשתמשהערה
נוכחית17:05, 22 ביוני 2013תמונה ממוזערת לגרסה מ־17:05, 22 ביוני 2013‪420 × 561‬ (4 ק"ב)DanielPenfieldUser created page with UploadWizard

אין בוויקיפדיה דפים המשתמשים בקובץ זה.

מטא־נתונים