- •Лабораторная работа №1. Первое знакомство с системой Matlab Представление данных. Арифметические операции.
- •Задания к лабораторной работе
- •Варианты заданий
- •Л. Р.№2. Операции с матрицами
- •Задания к лабораторной работе
- •Л.Р. №3. Построение графиков
- •Задание
- •Л.Р. №4. Начало программирования.
- •Задание
- •Л.Р. №5. Работа с изображениями. Создание m-файлов.
- •Задание
Задание
Задание
Построить график функции .
№ варианта | |
1 |
, |
2 |
, |
3 |
, |
4 |
, |
5 |
, |
6 |
, |
7 |
, |
8 |
, |
9 |
, |
10 |
, |
11 |
, |
12 |
, |
13 |
, |
Л.Р. №4. Начало программирования.
Рассмотрим основные операторы программирования.
Оператор условия
Оператор условия имеет следующее описание:
IF expression
statements
ELSEIF expression
statements
ELSE
statements
END
Например.
Создайте новый m-файл. А в нем создадим функцию поиска наибольшего числа из двух заданных. Два сравниваемых числа будут передаваться функции, и функция будет возвращать максимальное число.
Вид такой функции будет следующий:
function [max] = GetMax(a, b)
if a >= b
max = a;
else max = b;
end
Вызов функции:
>> max = GetMax(10, 11)
max =
11
Оператор выбора
Оператор выбора имеет следующее описание:
SWITCH switch_expr
CASE case_expr,
statement, ..., statement
CASE {case_expr1, case_expr2, case_expr3,...}
statement, ..., statement
...
OTHERWISE,
statement, ..., statement
END
Например:
Создадим новую функцию, в которую будут поступать в качестве параметров название цветов. Функция будет обрабатывать поступивший параметр и выдавать некоторое сообщение.
Функция выглядит следующим образом:
function GetSwitch(color)
switch color
case 'red'
disp('You choose red color')
case 'green'
disp('You choose green color')
case 'blue'
disp('You choose blue color')
otherwise
disp('I do not know this color')
end
Вызов функции:
>> GetSwitch('green')
You choose green color
>> GetSwitch('white')
I do not know this color
Операторы цикла
Существует несколько операторов цикла:
While …. End
WHILE expression
statements
END
For … end
FOR variable = expr,
statement, ...,
statement
END
Например:
Подсчитаем факториал числа. Параметр функции – задаваемое число. Функция будет иметь следующий вид:
function [f] = factorial(a)
i=1;
f=1;
while (i<=a)
f = f*i;
i = i+1;
end
Вызов функции:
>> f = factorial(5)
f =
120
Например:
Написать функцию для подсчета первых Nчисел. Входной параметр –N. На выходе – сумма. Функция будет иметь следующий вид:
unction [s] = SumNumbers(n)
s=0;
for i=1:n,
s = s + i;
end
Вызов функции:
>> s = SumNumbers(5)
s =
15
Задание
Составьте свои функции для следующих задач:
Заменить диагональные элементы матрицы нулями.
В матрице подсчитать количество элементов, значение которых меньше суммы первого положительного и последнего отрицательного элементов матрицы.
В матрице вычислить сумму квадратов отрицательных элементов матрицы.
Л.Р. №5. Работа с изображениями. Создание m-файлов.
Для того чтобы вывести на экран изображение, необходимо выполнить две операции:
считать изображение из файла в матрицу;
вывести эту матрицу на экран.
За выполнение первого шага отвечает функция – imread(filename,fmt), гдеfilename– имя открываемого файла,fmt– формат графического файла. Прежде чем запустить эту процедуру во вкладкеCurrentDirectoryсделайте активной ту директорию, где располагается ваш графический файл. Вfilenameуказывается только имя файла.
Например:
>> a = imread('bird_1', 'bmp');
Теперь матрицу а необходимо вывести на экран, для этого воспользуемся функцией image.
Например:
>> a = imread('bird_1', 'bmp');
>> image(a);
В Matlabсуществует возможность создавать свои функции, которые затем вы сможете вызывать изCommandWindow. Написанные вами функции сохраняются вm-файлах.
Процедура создания m-файлов следующая:
В Command Window в меню File\New\m-fileсоздаете новыйm-файл.
В появившемся окне необходимо набрать вашу функцию.
После того как функция набрана, сохраняете ее под некоторым именем с расширением *.m.
Теперь вы можете ее вызвать из CommandWindow.
Оформление функции.
Функция начинается с слова function, а затем через пробел указывается ее имя. Если есть передаваемые параметры, то они указываются в круглых скобках через запятую.
Например:
function myimage(filename,fmt)
A = imread(filename, fmt);
image(A);
Тогда вызов этой функции имеет вид:
>> myimage('bird_1', 'bmp');
Если ваша функция должна возвращать некоторые значения, то они указываются до имени функции в квадратных скобках и через запятую, если их несколько.
Например:
function [A] = myimage(filename,fmt)
A = IMREAD(filename,fmt);
image(A);
Тогда вызов имеет следующий вид:
>> а = myimage('bird_1', 'bmp');