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

М.А.И.

(Национальный Исследовательский Университет)

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

Практикум № 8

ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО EDITOR/DENUGGER

Вариант № 24

Оформил: Абрамов Иван Андреевич

Проверил: Кривилёв А. В.

Москва 2011

Цель: Знакомство с инструментальным средством Editor/Debugger, а также приобретение навыков работы со структурами выбора и повторения языка MATHLAB.

Упражнение 1.

Работа с командами главного главного меню Editor/Debugger.

  1. Создать файл example_6_4 из примера 6.4.

answer = input ('Введите массив положительных чисел: ');

tic

a=isprime(answer(:));

if any(a)

s=sum(a);

string = ['Вы ввели ' num2str(s) ' простых чисел: '];

disp (string)

answer (a')

else

string =['Введёный массив не содержит простых чисел'];

disp (string)

end

toc

  1. Поставить точку останова и две закладки, как показано на рис. П-8.1.

  2. Переместить курсор ко второй закладке , а затем к первой.

  3. Определить сколько раз в файле встречается слово string.(Find&Raplace)

  4. Заменить в файле все слова string на str.(Find&Replace)

answer = input ( 'Введите массив положительных чисел: ' );

tic

a = isprime(answer(:));

if any(a)

s=sum(a);

str = ['Вы ввели ' num2str(s) ' простых чисел: '];

disp (str)

answer (a')

else

str =['Введёный массив не содержит простых чисел'];

disp (str)

end

toc

  1. Сохранить файл по именем example_6_4_a .(save as)

  2. Перейти в режим отладки (run)

  3. После ввода необходимых чисел в командном окне выполнить один шаг (Step) и посмотреть значение переменной а.

  4. С помощью пошагого выполнения с заходом в вызываемую функцию перейти в функцию num2str() (Step In).

  5. Вернуться обратно в сценарис example_6_4 с помощью команды Step Out.

  6. Завершить выполнение сценария (Continue)

  7. Удалить контрольную точку (Clear All Breakpoints).

  8. Удалить две закладки (Set/Clear Bookmarks)/

  9. Установить текстовый курсор внутри слова num2str и выбрать команду Balance Delimiter.

  10. Закрыть файл example_6_4.

Упражнение 2.

Работа с командами панели инструментов Редактора.

  1. Создать сценарий example_6_6 из примера 6.6.

answer = input ( 'Введите массив положительных чисел: ' );

a = isprime(answer(:));

if any(a)

s=sum(a);

str = int2str(s);

d=size(str,2);

lsd=str2num(str(d));

if ((d>1)&&(str2num(str(d-1))==1)) || ~((lsd>0)&(lsd<5))

string = ['Вы ввели ' num2str(s) ' простых чисел: '];

elseif lsd==1

string = ['Вы ввели ' num2str(s) ' простое число: '];

else

string = ['Вы ввели ' num2str(s) ' простых числа: '];

end

disp (string)

answer (a')

else

string ='Во введённом массиве нет простых чисел';

disp(string)

end

  1. Установить контрольные точки, как показано на рис. П-8.4.

  2. Перейти в режим отладки и ввести чисел.

  3. Выполнить инструкцию, расположенную во второй строке, и просмотреть значение переменной а.

  4. Выполнить инструкции до следующей контрольной точки и просмотреть значения переменных s и str в случае наличия простых чисел во введённом массиве.

  5. Выполнить инструкции до следующей контрольной точки с заходом в вызываемые функции при наличии простых чисел в вызываемом массиве . После передачи управления в вызываемые функции необходимо полностью выполнить их и вернуться в точку вызова.

  6. Просмотреть значение переменной string и выполнить оставшиеся инструкции в сценарии.

Самостоятельная работа.

Самостоятельная работа состоит из двух заданий. Задания необходимо взять из предыдущего практикума согласно своему варианту. Решение каждого задания оформить в виде отдельного сценария.

  1. Создать сценарий для построения кривой из первого задания.

figure,

set(gcf,'Name','Вариант №24: Трисектрисса Маклорена')

subplot (1,2,2)

a=1/3;

h = ((-2.4*pi/3)+pi/180:pi/180:(2.4*pi/3)-pi/180)

r =a./cos(h/3);

polar(h,r), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

polar(0,0,'ro'),text(0.125,0.125,'\itO')

subplot (1,2,1);

[x,y]=pol2cart(h,r)

plot (x,y) ,axis equal, grid on, xlabel('x'),ylabel('y'), hold on

plot(0,0,'ro'), text(0.15,0.15,'\itO'), axis ([-3 3 -3 3]);

  1. Перейти в режим отладки и последовательно выполнить каждую команду с просмотром значений переменных.

  1. Вывести в командное окно пять вариантов кривой при различных значениях одного параметра (в случае наличия нескольких параметров выбрать один). Каждую кривую вывести своим цветом . Цвет кривой линии задать с помощью структуры выбора switch case end.

figure,

set(gcf,'Name','Вариант №24: Трисектрисса Маклорена')

subplot (1,2,2)

a=1/9;

b=1;

polar(0,0,'ro'),text(0.125,0.125,'\itO'), axis equal;

hold on

for n = 1:5

c=a*b, b=b*3/2

h = ((-2.4*pi/3)+pi/180:pi/180:(2.4*pi/3)-pi/180);

r =c./cos(h/3);

switch c

case 1/9

polar(h,r,'k'), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

case 1/6

polar(h,r,'b'), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

case 1/4

polar(h,r,'c'), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

case 3/8

polar(h,r,'r'), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

otherwise 9/16

polar(h,r,'g'), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

end

end

subplot (1,2,1);

a=1/9;

b=1;

plot(0,0,'ro'), text(0.15,0.15,'\itO'), axis equal;

hold on

for n = 1:5

c=a*b, b=b*3/2

h = ((-2.4*pi/3)+pi/180:pi/180:(2.4*pi/3)-pi/180);

r =c./cos(h/3);

[x,y]=pol2cart(h,r);

switch c

case 1/9

plot(x,y,'k'), axis equal, grid on,xlabel('x'),ylabel('y')

case 1/6

plot(x,y,'b'), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

case 1/4

plot(x,y,'c'), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

case 3/8

plot(x,y,'r'), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

otherwise 9/16

plot(x,y,'g'), axis equal, grid on,xlabel('x'),ylabel('y'),hold on

end

end

  1. Используя структуры повторения for end и while end, создать анимацию. При выполнении анимации в графическом окне циклически появляются и исчезают первый вариант линии, второй . третий, четвёртый, пятый, четвёртый третий и второй. При использовании первой структуры повторения организовать десять повторов, а в случае второй структуры реализовать бесконечное число повторов.

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