русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Блок-схема алгоритма. Описание исходных данных и результатов.


Дата добавления: 2015-07-09; просмотров: 623; Нарушение авторских прав


 

 

       
   
i=1

 

   
     

 

i=n

 

 

Исходные данные, а именно:

m-число узлов аппроксимации.

n - степень аппроксимирующего многочлена.

X - вектор узлов аппроксимации.

Y - вектор значений аппроксимируемой функции.

Все эти значения мы заносим в файл jan.dat, который работает только на чтение и файловой переменной является f1.

Результаты:

Все результаты выводятся в файл jan.res, работающий на запись и имеющий файловую переменную f2.

Первоначально в этот файл выводятся исходные данные, которые берутся из файла jan.dat, но при этом уже с описанием, то есть не просто числа, а скоментарием, что они означают.

Затем выводятся результаты вычисления, проведенной машиной, при этом все результаты отформатированы:

Выводится матрица С системы линейных уравнений для аппроксимации вместе с вектором правых частей. Затем выводится решение этой системы уравнений, что является вектором коэффициентов аппроксимирующего многочлена по возрастанию степени. И в конце выводится вектор погрешности аппроксимации Z.

Листинг программы, исходных данных и результатов.

program approx;

uses crt,gausstpu;

const nm=20;

type vect1=array[1..nm] of real;

var c:matr;

a,b:vect;

x,y,z:vect1;

n,i,j,m:integer;

f1,f2:text;

procedure Create_BC(n,m:integer; var x,y:vect1; var c:matr; var b:vect);

var i,j:integer;

r:vect;

begin

for i:=1 to n do

r[i]:=1;

for j:=1 to m+1 do begin

c[1,j]:=0;

b[j]:=0;

for i:=1 to n do begin

c[1,j]:=c[1,j]+r[i];

b[j]:=b[j]+r[i]*y[i];

end;

for i:=1 to n do

r[i]:=r[i]*x[i];

end;

for i:=1 to m do begin

for j:=1 to m do

c[i+1,j]:=c[1,j+1];

c[i+1,m+1]:=0;

for j:=1 to n do



c[i+1,m+1]:=c[i+1,m+1]+r[j];

for j:=1 to n do



r[j]:=r[j]*x[j];

end;end;

begin

assign(f1,'jan.dat');reset(f1);

assign(f2,'jan.res');rewrite(f2);

readln(f1,n);writeln(f2,'Число узлов аппроксимации n=',n:3);

readln(f1,m);writeln(f2,'Степень многочлена m=',m:2);

writeln(f2,'Вектор узлов аппроксимации x[i]');

for i:=1 to n do begin

read(f1,x[i]);

write(f2,x[i]:4:2,' ');

end;

writeln(f2);

writeln(f2,'Вектор значений аппроксимируемой функции y[i]');

for i:=1 to n do begin

read(f1,y[i]);

write(f2,y[i]:4:2,' ');

end;

Create_BC(n,m,x,y,c,b);

writeln(f2);

writeln(f2,'Матрица системы линейных уравнений для аппроксимации и вектор правых частей);

for i:=1 to m+1 do begin

for j:=1 to m+1 do

write(f2,c[i,j]:8:1);writeln(f2,b[i]:8:1);end;

gauss(m+1,c,b,a);

for i:=1 to n do begin

z[i]:=0;

for j:=m+1 downto 1 do

z[i]:=z[i]*x[i]+a[j];

z[i]:=z[i]-y[i];end;

writeln(f2);

writeln(f2,'Вектор коэфициентов аппроксимирующего многочлена по возрастанию);

writeln(f2,'степени (m+1 элементов)');

for i:=1 to m+1 do

writeln(f2,'a[',i:1,']=',a[i]:6:2);

writeln(f2,'Вектор погрешности аппроксимации в узлах X);

for i:=1 to n do

writeln(f2,'z[',i:1,']=',z[i]:5:3);

close(f1);close(f2);

end.

Исходный файл jan.dat:

1 6 0 3 8 2 12 9 2 5

9 4 13 7 3 9 3 1 4 2

Файл результатов jan.res:

Число узлов аппроксимации n=10

Степень многочлена m=2

Вектор узлов аппроксимации x[i]

1.00 6.00 0.00 3.00 8.00 2.00 12.00 9.00 2.00 5.00

Вектор значений аппроксимируемой функции y[i]

9.00 4.00 13.00 7.00 3.00 9.00 3.00 1.00 4.00 2.00

Матрица системы линейных уравнений для аппроксимации и вектор правых частей

10.0 48.0 368.0 55.0

48.0 368.0 3354.0 159.0

368.0 3354.0 33428.0 1023.0

Вектор коэфициентов аппроксимирующего многочлена по возрастанию степени (m+1 элементов)

a[1]= 11.66

a[2]= -2.31

a[3]= 0.13

Вектор погрешности аппроксимации в узлах X

z[1]=0.479

z[2]=-1.381

z[3]=-1.343

z[4]=-1.070

z[5]=-1.247

z[6]=-1.430

z[7]=-0.244

z[8]=0.723

z[9]=3.570

z[10]=1.454



<== предыдущая лекция | следующая лекция ==>
Изложение метода (Точечная аппроксимация). | Ручной счет.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.488 сек.