ЛРО8 (все лабораторные работы для 2 варианта)
Описание файла
Файл "ЛРО8" внутри архива находится в папке "2 вар". Документ из архива "все лабораторные работы для 2 варианта", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 4 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "практикум эвм (кафедра иу1)" в общих файлах.
Онлайн просмотр документа "ЛРО8"
Текст из документа "ЛРО8"
Московский государственный технический университет
им. Н. Э. Баумана
Лабораторная работа №6
ГРАФИКИ ФУНКЦИЙ ОДНОЙ ПЕРЕМЕННОЙ
Выполнил:
Группа:
Проверил: Звягин Ф.В.
Москва 2016.
Цель работы:
1. Ознакомиться с глобальными, локальными и статическими переменными.
2. Научиться создавать и использовать собственные функции в MatLab.
3. Приобрести навыки организации обмена информации между командным окном и функцией через механизм формальных и фактических параметров.
Краткие методические указания:
1. Создать два варианта функции для решения задачи. В первом варианте
предусмотреть передачу входной и выходной информации через глобальные
переменные, а во втором – через формальные и фактические параметры.
2. В командном окне задать исходные данные и вызвать функцию, пере-
дав ей входные и получив выходные значения.
3. Использовать статическую переменную для подсчёта количества вызовов каждой из функций и одну и ту же глобальную переменную для подсчёта
общего количества вызовов любой из двух функций. Вывести из функций имена вызываемых функций и значения этих переменных.
Задание 2 варианта:
2. В одномерном массиве вычислить сумму элементов до последнего нулевого и произведение элементов, расположенных правее него.
Исходный код скрипта:
Функция one:
%Фактические параметры
function[s,p]=one(a)
persistent numb;
global allnumb;
if isempty(numb)
numb=0;
end
if isempty(allnumb)
allnumb=0;
end
numb=numb+1;
allnumb=allnumb+1;
%%
k =length(a);
while((a(k)~=0)&&(k>0))
k = k-1;
end;
s = 0;
for i = 1 :1 :k-1
s = s+a(i);
end;
p = 1;
for i = k+1:1:length(a)
p = p*a(i);
end;
%%
fprintf('Функция one для фактических переменных\nВызвана %d раз\n',numb);
fprintf('Всего вызвано функций %d\n',allnumb);
Функция two:
%глобальные параметры
function two()
persistent numbe;
global allnumb;
if isempty(numbe)
numbe=0;
end
if isempty(allnumb)
allnumb=0;
end
numbe=numbe+1;
allnumb=allnumb+1;
%%
global p;
global s;
global A;
k =length(A);
while((A(k)~=0)&&(k>0))
k = k-1;
end;
s = 0;
for i = 1 :1 :k-1
s = s+A(i);
end;
p = 1;
for i = k+1:1:length(A)
p = p*A(i);
end;
%%
fprintf('Функция two для глобальных переменных\nВызвана %d раз\n',numbe);
fprintf('Всего вызвано функций %d\n',allnumb);
Вызов функций:
Вывод:
1. Ознакомился с глобальными, локальными и статическими переменными.
2. Научился создавать и использовать собственные функции в MatLab.
3. Приобрел навыки организации обмена информации между командным окном и функцией через механизм формальных и фактических параметров.