Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Тапсырмаларды орындау реті






8.2.1 Жоғ арғ ы 8.1.2 тармақ тағ ы есепті орындау реті.

Қ осымшаны тө менде Б қ осымшасында келтірілген листингіге сә йкес қ ұ ру керек, онда бір процестің критикалық секциялармен орындалатын екі ағ ын қ ұ рылады.

Қ осымша 1 Button, 2 ListBox, 1 CheckBox қ олданады. Критикалық секцияларды қ осқ анда қ осымшаның соң ғ ы нә тижесі болып глобалды айнымалының 124 мә ні болуы керек.

Ағ ындар басымдылығ ын (приоритетін) ө згерту мү мкіндігін қ арастыру керек. Қ осымшаны ә ртү рлі приоритеттерді орнатып жү ктеу керек. Келесі сұ рақ тарғ а жауап кү тілуде: ағ ындар басымдылығ ын ө згерту қ осымшаны орындау нә тижесіне қ алай ә сер етеді?

8.2.2 Жоғ арғ ы 8.1.3 тармақ тағ ы есепті орындау реті.

MatLab қ осымшасы есептеулерді бір уақ ытта бірнеше ағ ындарда орындауғ а мү мкіндік береді. Бірнеше ағ ындарда қ осу ү шін келесі жұ мыстарды орындау қ ажет: File > Preferences > General > Multithreading таң дап ағ ындар санын таң дау.

Мысал: екі ағ ынды қ олданып екі матрицаны кө бейту. Егер жү йеде екі СPU-дан жоғ ары болса, онда ағ ындар санын азайтуғ а болады. Ағ ындар санын анық тайтын айнымалы numThreads.

А жә не В матрицасының элементтерінің мә ні кездейсоқ сандар генераторымен беріледі.

maxNumCompThreads(N) функциясы есептеуіш ағ ындардың максимал санын N орнатады

N = maxNumCompThreads есептеуіш ағ ындардың болып тұ рғ ан максимал санын N береді.

Тө менде матрицаны қ ұ ру жә не кейбір кө рсеткіштері кө рсетілген.

Командалық жолда терілетіндер:

numThreads=2; % Number of threads to test

dataSize=500; % Data size to test

A=rand(dataSize, dataSize); % Random square matrix

B=rand(dataSize, dataSize); % Random square matrix

Есептеуіш ағ ындардың максимал саны 1 жә не операцияны орындау уақ ыты орнатылады.

oldstate = maxNumCompThreads(1);

C=A*B; % Do not perform timing comparison with the first run

tic;

C=A*B;

time1=toc;

fprintf('Time for 1 thread = %3.3f sec\n', time1);

Time for 1 thread = 0.074 sec

Матрицалар бір ағ ынды қ олданып кө бейтілді жә не орындалу уақ ыты анық талды.

Енді есептеуіш ағ ынның numThreads-ке тең саны жә не орындалу уақ ыты орнатылады

maxNumCompThreads(numThreads);

tic;

C=A*B;

timeN=toc;

fprintf('Time for %d threads = %3.3f sec\n', numThreads, timeN);

Time for 2 threads = 0.040 sec

Программада кө рінгендей орындалу уақ ыты жуық тап екі есеге азайды.

Excel қ осымшасы офистік программалардың арасында ерекше орыналады. Matlab пакетіне жақ ын, ө йткені Excel-де қ ұ рылымдарды кесте/матрица тү рінде іске асыруғ а мү мкіндік бар. Excel жә не Matlab мү мкіндіктерін біріктіруге болады. Оны Matlab қ ұ рамына кіретін автоматтандыру серверінің «надстройки» Spreadsheet Link EX кө мегімен орындайды. Бұ л Excel мә ліметтерін Matlab жұ мыс кең істігіне импорттауғ а немесе керісінше экспорттауғ а мү мкіндік береді.

М матрицасын Excel - filename – файлына жазу ү шін келесі функциялар қ олданылады:

xlswrite(filename, M)

xlswrite(filename, M, sheet)

xlswrite(filename, M, range)

xlswrite(filename, M, sheet, range)

Файл аты бірлік тырнақ шағ а жазылады.

Excel-файлынан М матрицасы ү шін келесі қ олданылады:

num = xlsread(filename)

num = xlsread(filename, -1)

num = xlsread(filename, sheet)

num = xlsread(filename, 'range')

num = xlsread(filename, sheet, 'range')

num = xlsread(filename, sheet, 'range', 'basic')






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.