Здесь можно найти образцы любых учебных материалов, т.е. получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ и рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


курсовая работа Построение графиков в паскаль

Информация:

Тип работы: курсовая работа. Добавлен: 18.10.2012. Сдан: 2012. Страниц: 11. Уникальность по antiplagiat.ru: < 30%

Описание (план):


    Оглавление.
    ОГЛАВЛЕНИЕ_________________________________________________2
    ЦЕЛЬ РАБОТЫ_________________________________________________3
    МЕТОДИЧЕСКИЕ УКАЗАНИЯ__________________________________3
      Методические рекомендации по аппроксимации методом наименьших квадратов_____________________________________3
        Постановка задачи_______________________________________3
      Методика решения системы нормальных уравнений___________6
    РУЧНОЙ СЧЕТ_________________________________________________8
      Исходные данные__________________________________________8
      Критерий аппроксимации___________________________________8
      Система нормальных уравнений____________________________10
      Решение системы методом обратной матрицы  _______________10
      Результаты расчета_______________________________________11
      Аппроксимирующая функция______________________________11
      Оценка погрешности аппроксимации_______________________11
      График__________________________________________________12
    СХЕМЫ АЛГОРИТМОВ_______________________________________13
      Схема алгоритма основного блока программы_______________13
      Схема алгоритма процедуры решения системы уравнений____15
    ТЕКСТ ПРОГРАММЫ_________________________________________17
    РЕЗУЛЬТАТЫ КОНТРОЛЬНОГО РАСЧЕТА_____________________23
    ВЫВОДЫ_____________________________________________________24
 
 
 
 
 
 
 
    ЦЕЛЬ РАБОТЫ.
Практическое освоение типовых вычислительных методов прикладной математики;
совершенствование навыков разработки алгоритмов и построения программ на языке программирования высокого уровня Паскаль;
освоение принципов модульного программирования;
приобретение основных навыков для использования вычислительных методов прикладной математики и техники программирования в процессе изучения всех последующих дисциплин при выполнении курсовых и дипломных проектов.
 
    МЕТОДИЧЕСКИЕ УКАЗАНИЯ.
      Методические рекомендации по аппроксимации методом наименьших квадратов.
        Постановка задачи.
При изучении зависимостей между величинами важной задачей является приближенное представление (аппроксимация) этих зависимостей с помощью известных функций или их комбинаций, подобранных надлежащим образом. Подход к такой задаче и конкретный метод ее решения определяются выбором используемого критерия качества приближения и формой представления исходных данных.
Пусть изучается связь  между величинами x и y , из которых первая рассматривается в качестве независимой переменной, а вторая - ее функции. Исходные данные представлены значениями y, заданными на некотором множестве М значений х. Тогда ошибка приближения этой зависимости некоторой аппроксимирующей функцией у = ?(х) для каждого из значений x может быть оценена разностью
.                                                                                        (3.1.1.1)
Значения y = yi заданы для конечного множества (n) значений xi (i = 1..n). Тогда для каждого из этих значений определена и ошибка
.                                                             (3.1.1.2)
На основе изучения ошибок формируются различные критерии качества аппроксимации, служащие для определения наилучшей аппроксимирующей функции ?(х). Один из распространенных подходов опирается на использование метода наименьших квадратов (МНК), в соответствии с которым наилучшей считается такая аппроксимирующая функция ?(х), для которой достигается наименьшее значение суммы квадратов ошибок ? во всех точках x, принимаемых во внимание:
 
В соответствии с требованием (3.1.1.3) наилучшая аппроксимирующая функция ?(х) должна быть определена из условия
 
Подобное задание исходных данных встречается в задачах  технических измерений, когда для каждого из задаваемых значений xi осуществляется измерение величины yi (сопровождающееся возможными ошибками). Аппроксимация позволяет представить изучаемую связь между x и у с помощью известных функций, что облегчает последующее использование данных, позволяет "сгладить" возможные ошибки измерений, а также дает возможность оценивать значения переменной у = ?(х) в точках x интервала [x1, xn], не совпадающих с заданными (т.е. решать задачу интерполяции).
Аппроксимирующую функцию  ?(х) выбирают из некоторого семейства  функций, для которого задан вид  функции, но остаются неопределенными (и подлежат определению) ее параметры С1, С2,…, Сm, т.е.
                                                                               (3.1.1.5)
Определение аппроксимирующей функции ? разделяется на два основных этапа:
подбор подходящего вида функции ?(х);
нахождение ее параметров в соответствии с критерием МНК.
Подбор вида функции ?(х) представляет собой сложную задачу, решаемую методом проб и последовательных приближений. Исходные данные, представленные в графической форме (семейства точек или кривые), сопоставляются с семействами графиков ряда типовых функций, используемых обычно для целей аппроксимации.
После того как выбран вид  аппроксимирующей функции ?(х) (или эта функция задана) и, следовательно, определена функциональная зависимость (3.1.1.5), необходимо найти в соответствии с требованиями МНК значения параметров С1, С2,…, Сm.
Для решения задачи подставим  выражение (3.1.1.5) в выражение (3.1.1.4) и проведем необходимые операции суммирования. В результате величина J, именуемая в дальнейшем критерием аппроксимации, представится функцией исходных параметров
                                                                                  (3.1.1.6)
Последующее сводится к отысканию  минимума этой функции J переменных Сk; определение значений Ck, к = (1,..,m), соответствующих этому минимуму J, и является целью решаемой задачи.
Для решения задачи воспользуемся  необходимым условием минимума функции (3.1.1.6) нескольких переменных, в соответствии с которым в точке минимума должны быть равны нулю частные производные этой функции по всем ее аргументам
                                                                           (3.1.1.7)
Полученные m равенств следует рассматривать как систему уравнений относительно искомых значений С1, С2,…, Сm.
Используемые равенства (3.1.1.7) дают лишь необходимые, но не недостаточные условия минимума (3.1.1.6). Поэтому требуется уточнить, обеспечивают ли найденные значения Ck именно минимум функции J (C1, C2,.., Cm). В данной работе мы будем считать, что найденное решение системы отвечает именно минимуму J.
Уравнения (3.1.1.7), встречающиеся в МНК, называют нормальными.
      Методика решения системы нормальных уравнений.
Решение системы нормальных уравнений производится методом  обратной матрицы (прямым методом).
Прямые, или конечные, методы позволяют найти решение  системы уравнений за конечное число  шагов. Это решение будет точным, если все промежуточные вычисления выполняются точно, и приближенным, если вычисления проводятся с ограниченной точностью, как на современных ЭВМ.
Система нормальных уравнений  имеет вид:
                                                   (3.2.1)
Один из методов решения  системы линейных алгебраических уравнений (3.2.1), записываемой в матричной форме AX=B, связан с использованием обратной матрицы А-1 . В этом случае решение системы уравнений получается в виде
X = А-1 B,
где А-1 – матрица, определяемая следующим образом.
Пусть А – квадратная матрица размером n? n c ненулевым определителем det A ? 0.  Тогда существует обратная матрица R = А-1, определяемая условием A R=E, где Е – единичная матрица, все элементы главной диагонали которой равны 1, а все элементы вне этой диагонали – 0,  Е=[E1, …, En], где  
Еj – вектор-столбец. Матрица R – квадратная матрица размером n? n
 

где Rj – вектор-столбец.
Рассмотрим ее первый столбец  R1=(r11,  r21, …,rn1)T, где Т означает транспонирование. Нетрудно проверить, что произведение А?R1 равно первому столбцу Е1 = (1, 0,…, 0)Т единичной матрицы Е, т.е. вектор R1 можно рассматривать как решение системы уравнений А R1=E1. Аналогично m-й столбец матрицы R,  Rm, 1? m ? n, представляет собой решение уравнения  
A Rm=Em, где Еm=(0,…, 1,…,0)T - m-й столбец единичной матрицы Е (m-й элемент его равен 1, остальные равны нулю).
Таким образом, обратная матрица R представляет собой набор из решений n систем  линейных уравнений
A  Rm = Em,  1 ? m ? n.
Для решения этих систем можно применять любые методы, разработанные для решения систем линейных алгебраических уравнений. Однако метод Гаусса дает возможность решать все эти  n систем одновременно, а не независимо друг от друга. Все эти системы уравнений отличаются только правой частью, а все преобразования, которые производятся в процессе прямого хода метода Гаусса, полностью определяются элементами матрицы коэффициентов (матрицы А).
 
    РУЧНОЙ СЧЕТ.
      Исходные данные.
Вариант задания: 18.
xi
0.0
0.78
1.57
2.35
3.14
yi
0.0
4.0
5.0
8.0
9.0

 
1(x)
2(x)
3(x)
cos(x)
sin(x)
1

 
      Критерий аппроксимации.
 
 
 
 
 
Условие минимума аппроксимации:
 
Взятие производной и  формирование нормальных уравнений:
Первое уравнение:
 
 
 
 
 
Второе уравнение:
 
 
 
 
 
Третье уравнение:
 
 
 
 
 
 
      Система нормальных уравнений.
 
      Решение системы методом обратной матрицы.
 
 
 
 
 
 
 – алгебраическое дополнение матрицы А.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
      Результаты расчета.
С1=-3.935
С2=1.119
С3=4.658
      Аппроксимирующая функция.
 
      Оценка погрешности аппроксимации.
i
i
i)
i=yi-?(xi)
1
0.0
0.0
0.723
-0.723
2
0.78
4.0
2.648
1.352
3
1.57
5.0
5.774
-0.774
4
2.35
8.0
8.219
-0.219
5
3.14
9.0
8.595
0.405

Минимальное значение качества аппроксимации:
Jmin=(-0.723)2 + (1.352)2 +(-0.774)2 +(-0.219)2 +(-0.405)2 = 3.162
 
Максимальное по модулю отклонение:
max при x = x2 = 0.78
      График.

Рис. 4.8.1. График аппроксимирующей функции. Исходные точки.
Построение графика выполнялось  при помощи математического пакета MathCAD.
 
 
 
 
 
    СХЕМЫ АЛГОРИТМОВ.
      Схема алгоритма основного блока программы.

Рис. 5.1.1. Начало блок – схемы  алгоритма.
 

Рис. 5.1.2. Конец блок –  схемы алгоритма.
      Схема алгоритма процедуры решения системы уравнений.

Рис. 5.2.1. Начало блок – схемы алгоритма процедуры.
 

Рис. 5.2.2. Конец блок –  схемы алгоритма процедуры.
    ТЕКСТ ПРОГРАММЫ.
{$R+}
Program kursovaja (input, output);
Uses Crt;
Type
Mas1=array [1..5] of real;
Mas2=array [1..3,1..5] of real;
Mas3=array [1..3,1..3] of real;
Mas4=array [1..3] of real;
Var
x,y,F0,DELTA:Mas1;
f:Mas2;
A:Mas3;
B,C:Mas4;
i,j,k,l,m,n,imax:byte;
J0,max:real;
Procedure MATRIX (Z:Mas3;B:Mas4;n:byte;var X:Mas4);
Var i,j,l,k,m,NUM:byte;BIG,TEMP,Q,SUM:real;E,R,W,Z1:Mas3;
begin
for i:=1 to n do
for j:=1 to n do
Z1[i,j]:=Z[i,j];
for k:=1 to n do
for l:=1 to n do
if k=l then
E[k,l]:=1
else E[k,l]:=0;
for i:=1 to n-1 do
begin
  BIG:=0;
  NUM:=0;
  for l:=i to n do
  if abs(Z1[l,i])>abs(BIG) then
  begin
   BIG:=Z1[l,i];
   NUM:=l;
  end;
  if NUM=0 then
  begin
   writeln ('Матрица вырожденная!!');
   readkey;
   halt;
  end;
  if NUM<>i then
  begin
   for j:=i to n do
   begin
    TEMP:=Z1[i,j];
    Z1[i,j]:=Z1[NUM,j];
    Z1[NUM,j]:=TEMP;
    TEMP:=Z[i,j];
    Z[i,j]:=Z[NUM,j];
    Z[NUM,j]:=TEMP;
   end;
   TEMP:=B[i];
   B[i]:=B[NUM];
   B[NUM]:=TEMP;
  end;
  for k:=i+1 to n do
  begin
   Q:=Z1[k,i]/Z1[i,i];
   Z1[k,i]:=0;
   for j:=i+1 to n do
   Z1[k,j]:=Z1[k,j]-Q*Z1[i,j];
   for m:=1 to n do
   E[k,m]:=E[k,m]-Q*E[i,m];
  end;
end;
for m:=1 to n do
R[n,m]:=E[n,m]/Z1[n,n];
for i:=n-1 downto 1 do
for m:=1 to n do
begin
  SUM:=E[i,m];
  for j:=i+1 to n do
  SUM:=SUM-Z1[i,j]*R[j,m];
  R[i,m]:=SUM/Z1[i,i];
end;
writeln ('Обратная матрица:');
for i:=1 to n do
begin
  for j:=1 to n do
  write (R[i,j]:5:4,' ');
  writeln;
 end;
 writeln ('Проверка правильности нахождения обратной матрицы:');
 for i:=1 to n do
for j:=1 to n do
begin
  W[i,j]:=0;
  for k:=1 to n do
  W[i,j]:=W[i,j]+Z[i,k]*R[k,j];
end;
for i:=1 to n do
  begin
  for j:=1 to n do
  write (W[i,j]:5:3,' ');
  writeln;
end;
for i:=1 to n do
begin
  X[i]:=0;
  for j:=1 to n do
  X[i]:=X[i]+R[i,j]*B[j];
end;
end;
Begin
 ClrScr;
 Writeln ('Введите количество заданных исходных точек');
 Read (m);
 writeln;
 Writeln ('Введите количество заданных исходных функций');
 Read (n);
writeln;
Writeln ('Введите значения X:');
for i:=1 to m do
Read (x[i]);
writeln;
Writeln ('Введите значения Y:');
for i:=1 to m do
Read (y[i]);
writeln;
for i:=1 to m do
begin
  f[1,i]:=cos(x[i]);
  f[2,i]:=sin(x[i]);
  f[3,i]:=1;
end;
writeln ('Матрица коэффициентов при неизвестных С1, С2, С3:');
 for k:=1 to n do
begin
  for l:=1 to n do
  begin
   A[k,l]:=0;
   for i:=1 to m do
   A[k,l]:=A[k,l]+f[k,i]*f[l,i];
   write (A[k,l]:5:4,' ');
  end;
  writeln;
 end;
 writeln ('Матрица-столбец правой части системы уравнений:');
 for k:=1 to n do
begin
  B[k]:=0;
  for i:=1 to m do
  B[k]:=B[k]+y[i]*f[k,i];
  writeln (B[k]:5:3,' ');
end;
MATRIX(A,B,n,C);
writeln ('Значения неизвестных Ck:');
 for k:=1 to n do
writeln ('C',k,'=',C[k]:5:4);
writeln ('Значения аппроксимирующей функции в зависимости от x[i]:');
 for i:=1 to m do
begin
  F0[i]:=C[1]*f[1,i]+C[2]*f[2,i]+C[3]*f[3,i];
  writeln ('F(x',i,')=',F0[i]:5:2);
end;
 writeln ('Значения отклонений исходных точек от аппроксимирующей функции:');
 for i:=1 to m do
begin
  DELTA[i]:=y[i]-F0[i];
  writeln ('DELTA',i,'=',DELTA[i]:5:2);
end;
 writeln ('Максимальное отклонение:');
 max:=DELTA[1];
imax:=1;
for i:=2 to m do
if abs(DELTA[i])>abs(max) then
begin
  max:=DELTA[i];
  imax:=i;
end;
writeln ('DELTAmax=',max:5:2,' при x=x',imax,'=',x[imax]:3:2);
writeln ('Минимальное значение качества аппроксимации:');
 J0:=DELTA[1]*DELTA[1];
for i:=2 to m do
J0:=J0+DELTA[i]*DELTA[i];
writeln ('J0=',J0:5:4);
readkey
end.
 
    РЕЗУЛЬТАТЫ КОНТРОЛЬНОГО РАСЧЕТА.

и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.