Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы вычисления. Лекция 1 (Part_1)

.pdf
Скачиваний:
24
Добавлен:
16.03.2015
Размер:
719.14 Кб
Скачать

Операторы и функции Функции пользователя

Способы задания функции

inline функции;

анонимные функции;

файл-функции (m-файлы).

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

11 февраля 2012 г.

31 / 40

Операторы и функции Функции пользователя

inline-функция

f1 = inline(’x1^2+x2^2’,’x1’,’x2’)

Использование:

f1(4,2)

Особенности

Переменные из рабочей области недоступны

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

11 февраля 2012 г.

32 / 40

Операторы и функции Функции пользователя

Анонимная функция

f = @ (x1,x2) x1^2+x2^2

Использование:

f(4,2)

Особенности

Переменные из рабочей области доступны, но рассматриваются как константы

a=2;

f = @ (x1) a*x1 f(1)

> 2

a=2; f(1) > 2

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

11 февраля 2012 г.

33 / 40

Задачи

Задачи

Задание 1.

Напишите кратчайшее однострочное выражение для построения квадратной матрицы вида

2

1

2

3

4

: : :

n3

 

1

2

3

4

: : :

n

6: : : : : : : : : : : : : : :

n7

6

1 2 3 4 : : :

n7

4

 

5

Напишите выражение, определяющее индекс элемента вектора с наибольшим отклонением от среднего значения элементов вектора i : maxjPi m(P)j.

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

11 февраля 2012 г.

35 / 40

Задачи

Задание 2.

Напишите кратчайшее однострочное выражение для построения квадратной матрицы вида

2

0

2

3

4

 

: : :

n3

 

1

2

3

4

 

: : :

n

6: : : : : :

:: :: ::

: : : : : :

n7

6

0

0

 

0

n

 

1 n7

6

0

0

0

0

 

7

6

 

0

n7

4

 

 

 

 

 

 

5

Найдите матрицу B, которая отличается от матрицы A перестановкой столбцов по возрастанию суммы элементов столбца.

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

11 февраля 2012 г.

36 / 40

Задачи

Задание 3.

Постройте последовательность целых чисел от 1 до n и найдите сумму четных чисел

Напишите анонимную и встроенную (inline) функции для генерации арифметической прогрессии ai = a0 + b i

Найдите площадь треугольника, координаты вершин которого записаны в матрице C:

C = [x1,y1; x2,y2, x3,y3];

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

11 февраля 2012 г.

37 / 40

Задачи

Задание 4.

Напишите анонимную и встроенную (inline) функции для генерации n первых членов арифметической прогрессии ai = a0 + b i.

Даны два вектора a и b равной длины. Найдите вектор c элементы которого вычисляются как ci = (sin ai + cos bi + a b)2

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

11 февраля 2012 г.

38 / 40

Задачи

Задание 5.

дана матрица A координат точек на плоскости: в первом столбе матрицы записаны координаты x, во втором столбце – y. Постройте матрицу B которая составлена из строк матрицы A, так, что с увеличением номера строки с координатами точки растет расстояние от этой точки до начала координат.

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

11 февраля 2012 г.

39 / 40

Задачи

Задание 6.

Структура графа описана при помощи списка смежности, записанного в виде матрицы:

L =

2

2

4

3

;

 

 

1

2

 

 

 

6: : : : : :7

 

 

6

 

 

7

 

 

4

 

 

5

 

34

4

 

В каждой строке матрицы L записываются

 

индексы вершин, связанные дугой.

 

 

 

3

Постройте матрицу смежности графа S,

 

элемент которой – sij

отличен от нуля,

 

 

2

 

если вершины i и j смежные, т. е.

 

соединены дугой. Остальные элементы

 

 

1

 

матрицы S равны нулю.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Юдинцев В. В. (ТМ, СГАУ)

 

Основы MATLAB

 

 

 

11 февраля 2012 г. 40 / 40