![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Тапсырмаларды орындау реті
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')
|