Mudolirovanie3_2 / Mudolirovanie3_2
.docxФедеральное агентство по образованию
ГОУ ВПО Кубанский государственный технологический университет
КАФЕДРА ИНФОРМАТИКИ
Лабораторная работа №
«Планирование машинных экспериментов»
Выполнил:
студент группы 08-К-ВМ1
Жиров C.П.
Проверил:
Богданов В.В.
г. Краснодар
2012г.
Цель работы: Изучение и практическое освоение методов тактического планирования машинных экспериментов, составление алгоритмов определения объема выборки машинного эксперимента с моделями сложных систем, решение задачи обеспечения точности и достоверности результатов моделирования.
Задание
7-8. Кристаллы с дефектами. Кристаллическое твердое тело никогда не является совершенным, а содержит разнообразные дефекты. Простейшим дефектом является вакансия решетки, т.е. отсутствие атома в узле решетки и помещение дополнительного атома на поверхность. При конечной температуре в реальном кристалле всегда имеется некоторое число решеточных вакансий. Во многих случаях вакансия диффундирует (движется), меняясь местами с соседними атомами случайным образом. Предположите, что вакансия в начальный момент времени t=0 расположена в центре окружности радиусом r, и определите время, за которое вакансия достигает поверхности металла, находящейся на расстоянии r (r выбрать произвольно).
Итак вакансия движется из середины (6; 6) в 4 стороны и достигает поверхности металла если достигает границы (красная линия), то движения прекращается и число шагов заносится в массив и 1 столбец
Мы делаем 1000 опытов с определением времени (числа шагов) ( 1 столбец)
Теперь считаем частоту встречаемости каждого элемента и выводим эл-ты (2 столбец) и их частоты (3 столбец), например число 5 встретилось 14 раз, число 7,342 встретилось 240 раз и т д
Рисуем гистограмму по оси х – числа, по у – их частоты
Считаем мат ожидание и дисперсию как и в лабах 1.1-1.3
Распределение похоже на распределение Пуассона.
Приложение
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace КМ3
{
public partial class Form1 : Form
{
static double r = 12;
double x = r / 2;
double y = r / 2;
double step = 0;
double[] ArrayOfChas = new double[1000];
List<double> listdelta = new List<double>();
List<double> listch = new List<double>();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Random rn = new Random();
for (int i = 0; i < 1000; i++)
{
while (x < r && x > 0 && y < r && y > 0)
{
if (rn.Next(4) == 0)
{//(1,0)
x++;
step++;
}
else
{
if (rn.Next(4) == 1)
{//(-1,0)
x--;
step++;
}
else
{
if (rn.Next(4) == 2)
{//(0,-1)
y--;
step++;
}
else
{// 3
//(0,1)
y++;
step++;
}
}
}
}
listBox1.Items.Add(step.ToString());
listdelta.Add(step);
x = r / 2; y = r / 2; step = 0;
}
for (int i = 0; i < listdelta.Count; i++)
{
int something = listch.IndexOf(listdelta[i]);
if (something == -1)
{
listch.Add(listdelta[i]);
listBox2.Items.Add(listdelta[i]);
}
}
for (int i = 0; i < listdelta.Count; i++)
{
for (int j = 0; j < listch.Count; j++)
{
if (listdelta[i] == listch[j])
{
ArrayOfChas[j]++;
}
}
}
for (int i = 0; i < listch.Count; i++)
{
listBox3.Items.Add(ArrayOfChas[i]);
bar1.Add(listch[i], ArrayOfChas[i]);
}
double Mat = 0; double Disper = 0;
for (int i = 0; i < listdelta[i]; i++)
{
Mat += listdelta[i] * 0.001;
Disper += Math.Pow(listdelta[i], 2) * 0.001;
}
label1.Text += Mat;
Disper = Disper - Mat * Mat;
label2.Text += Disper;
}
}
}