У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа ’3 Функции в MTLB Выполнил- Студент гр

Работа добавлена на сайт samzan.net: 2015-12-26

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.4.2025

Министерство образования Российской Федерации

Рязанский государственный радиотехнический университет

Кафедра ЭВМ

Лабораторная работа №3

«Функции в MATLAB»

Выполнил:

Студент гр. 015

Боев А.А.

Проверила:

Саблина В.А.

Рязань 2013 г.

Цель работы: Приобретение навыков создания и использования функций в MATLAB, применения векторизации циклов, измерения времени исполнения кода.

Описание функции от двух аргументов:

function z = gipot( x,y )

%gipot находит длину гипотенузы прямоугольника

%по известным катетом

if nargin ==1

   z=NaN;

%  error( 'Не число' )

else

z=sqrt(x.*x+y.*y);

end

 

end

Содержание скрипта сравнения времен выполнения:

tic;%запуск таймера

i=1;%Задаём начальной значение i=1

for x1 = -10:0.5:10%Диопозон изменения переменной x1

      k=1;%Задаём начальной значение k=1

      for y1 = -10:0.5:10%Диопозон изменения переменной y1

      z1(i,k) = gipot(x1,y1);%запрос к функции "gipot"

      k=k+1;%Next k

      end

      i=i+1;%Next i

end

Time1=toc;%остановка таймера и возврат в Time1 время

 

tic;%запуск таймера

[x2,y2]=meshgrid(-10:0.5:10 ,-10:0.5:10);%Задаём диапазон изменения параметров x и y

z2 = gipot(x2,y2);%запрос к функции "gipot"

Time2=toc;%остановка таймера и возврат в Time2 время

% вывод в консоль информации о затрате времени

disp ('Время использования цикла:');disp (Time1);

disp ('Время использования вектора:');disp (Time2);

% что и во сколько раз дольше

if Time1<Time2

   disp('время использования векторов больше цикла в : ');

   disp (Time2/Time1);

else

   disp('время использования цикла больше векторов в : ');

   disp(Time1/Time2);

end;

% сравнения результатов работы скрипта для двух способов

if z1==z2

   disp('z1=z2')

else

   disp ('z1<>z2')

end;

% сравнивать скорости вычисления некоторой

% заданной функции в цикле и с помощью векторизации

disp('управление функцией...');

Tgipot=@gipot;%использование как вх аргумента ф.gipot

T=comparetime(Tgipot);%отправляем в ф. "comparetime", ф."gipot"

disp(T);

 

Описание функции сравнения времен выполнения:

function [Time1, Time2] = comparetime( indic )

%comparetime функция затраты времени использования цикла и векторов

%  выход-2 времени использования для первого  и второго способов

tic;

i=1;   

for x1 = -10:0.5:10

      k=1;

      for y1 = -10:0.5:10

      z1(i,k) = indic(x1,y1);

      k=k+1;

      end

      i=i+1;

end

Time1=toc;

 

tic;

[x2,y2]=meshgrid(-10:0.5:10 ,-10:0.5:10);

z2 = indic(x2,y2);

Time2=toc;

 

end

 


Результат выполнения скрипта (полученные массивы можно посмотреть запустив скрипт на ПК):

>> foi.m

Время при использование цикла:

   0.0129

Время при использование вектора:

   0.0020

время при использование цикла больше векторов в :

   6.3885

z1=z2

running function...

   0.0074




1. Особенности науки как специфической сферы деятельности человека
2. Доклад- Компьютер - порабощающий помощник
3. Контрольная работа заочника по дисциплине Английский язык ВАРИАНТ 4 Выпольнил
4. хау. Сторонами по договору коммерческой концессии могут быть коммерческие организации и граждане зарег.html
5. Григорий Кантор
6. Test ldquo;History of the English lngugerdquo; nother nme of the Celtic lnguge is The English lnguge belongs to the lnguge fmily.
7. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата біологічних наук Хар
8. Школапарк М.А. Балабан
9. Маркетинговое обоснование производства проектируемой модели диаграммы
10. а в его смеси с нгептаном при котором эта смесь эквивалентна по детонационной стойкости исследуемому топли