Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matlab.doc
Скачиваний:
16
Добавлен:
10.02.2016
Размер:
339.46 Кб
Скачать

Задание

Задание

Построить график функции .

№ варианта

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

Операторы цикла

Существует несколько операторов цикла:

  1. While …. End

WHILE expression

statements

END

  1. 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

  1. Задание

Составьте свои функции для следующих задач:

  • Заменить диагональные элементы матрицы нулями.

  • В матрице подсчитать количество элементов, значение которых меньше суммы первого положительного и последнего отрицательного элементов матрицы.

  • В матрице вычислить сумму квадратов отрицательных элементов матрицы.

Л.Р. №5. Работа с изображениями. Создание m-файлов.

Для того чтобы вывести на экран изображение, необходимо выполнить две операции:

  1. считать изображение из файла в матрицу;

  2. вывести эту матрицу на экран.

За выполнение первого шага отвечает функция – 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');

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]