Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kyrsovaya_po_IT_Buyanov_final9.docx
Скачиваний:
7
Добавлен:
10.05.2015
Размер:
349.59 Кб
Скачать

1.1.2)Исходный код подфункции read

Подфункция readне имеет ни входных, ни выходных параметров. Она предназначена для вызова интерфейсом, чтобы запустить .exeфайл, в котором идет вычисление координат аппроксимированной функции, считывать .txtфайл с этими координатами и строить по ним график в окне графопостроителя.

function read

!E:\MIREA\VisualStudio\Kypc\Debug\Kypc.exe

[f,or]=fopen('ML.txt', 'rt');

if (isempty(or))

mas=' ';

while ~feof(f)

line=fgetl(f);

mas=char(mas,line);

end

fclose(f);

else

disp(or);

end

mas=str2num(mas);

x=mas(:,1);

y=mas(:,2);

plot(x,y);

grid on;

xlim([2,11]);

end

1.1.3)Исходный код подфункции clearaxes

Подфункция clearaxesне имеет ни входных, ни выходных параметров. Она предназначена для вызова интерфейсом, чтобы очистить поле графопостроителя.

function clearaxes

global haxes

hold on;

axes(haxes); cla;

hold off;

1.1.4)Исходный код подфункции cppchec

Подфункция cppchecне имеет ни входных, ни выходных параметров. Она предназначена для вызова интерфейсом, чтобы открывать файл, содержащий данные, введёные пользователем в интерфейсе.

function cppchec

!E:\MIREA\VisualStudio\Kypc\Kypc\Cpp.txt

1.1.5)Исходный код подфункции mlchec

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

function cppchec

!E:\MIREA\VisualStudio\Kypc\Kypc\Cpp.txt

Вторая Часть:

2) Главная исполняющая функция

Функция mainявляется основной функцией исполнительной части.Она не имеет ни входных, ни выходных параметров.Cодержит подфункцииdouble fun(double x) ,

void furie(int m, int k) , double find_koef0(double(*f)(double), int m) ,

double find_koef1(double(*f)(double), int k, int m) ,

double find_koef2(double(*f)(double), int k, int m) . Эти подфункции обеспечивают работу главной функцииmain.

В функции mainпроисходит

  • Считывание данных, введённые пользователем в интерфейсе.

  • Запуск аппарата аппроксимации, основанный на принципе рядaФурье.

2.1) Исходный код функции main

void main(void)

{

double ya, bn, ao, an;

ifstream file1;

file1.open("CPP.txt");

if (!file1)

{

cout << "error" << endl;

}

file1 >> k;

file1 >> m;

file1 >> z;

file1.close();

h = (double)l / (double)m;

furie(m, k);

}

2.1.1) Исходный код подфункции fun

Подфункция double fun(double x) имеет входной параметр «x» и выходной параметр «y». Она предназначена для вызова главной функциейmainдля того, чтобы в соответствии от значения параметра «x», выбирать соответствующую для него функциюy(x).

Параметр «x»: типа «double», является аргументом для функцииy(x).

Параметр «y»: типа «double», является значение функции (x).

double fun(double x)

{

double y;

if (x >= 2 & x <= 5)

y = (2 / 3)*x - (4 / 3);

else if (x > 5 & x <= 8)

y = 2;

else if (x > 8 & x <= 11)

y = -(2 / 3)*x + (22 / 3);

else y = 0;

return y;

}

2.1.2) Исходный код подфункции furie

Подфункция void furie(int m, int k) имеет входные параметры «m» и «k». Она предназначена для вызова главной функциейmainдля того, чтобы производить расчет значений ряда Фурье и записывать их вместе с соответствующими значениями «x» в файл, который считывается интерфейсом.

Параметр «m»: типа «int», является числом, определяющим количество разбиений при подсчете интегралов .

Параметр «k»: типа «int», является числом, определяющим номер частичной суммы(гармоники), которая будет подлежать выводу в окне графопостроителя

void furie(int m, int k)

{

double ya;

ofstream file2;

file2.open("ML.txt");

x = 0;

for (int p = 0; p<=z; p++)

{

ya = find_koef0(fun, m) / 2;

for (int j = 1; j <= k; j++)

ya += (find_koef1(fun, j, m))*cos(j*pi*x / l) + (find_koef2(fun, j, m))*sin(j*pi*x / l);

file2 << x << " " << ya << endl;

x += 2 * l / z;

}

file2.close();

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]