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

Базовые средства матпакета Scilab

.pdf
Скачиваний:
104
Добавлен:
04.04.2023
Размер:
6.29 Mб
Скачать

Логические операции. Таблица 1.2.3-2

Операция

 

Описание

 

 

 

Примеры *

 

 

Логическое сложение (операция ИЛИ)

--> or([])

 

 

над элементами вектора или матрицы

ans

=

 

 

 

 

 

 

 

 

F

 

 

 

 

Где b - логический скаляр, если or(A)

--> or(0)

 

b = or(A)

используется

без

каких-либо

 

вариантов "r",

"c",

n

(по

ans

=

 

 

 

F

 

 

 

 

умолчанию).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bравно

%F, если все элементы A

имеют

--> or(0+%i * 0)

 

 

значение %F или ноль, включая %nan.

 

 

ans

=

 

 

 

b равно , в противном случае (по

F

 

 

 

 

крайней

мере

один элемент

A

имеют

 

 

 

 

 

значение %T или ненулевой.

 

 

--> or(%nan)

 

 

 

 

 

 

 

ans

=

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

--> or([T, F T])

 

 

 

 

 

 

 

ans

=

 

 

 

 

 

 

 

 

T

 

 

 

 

 

 

 

 

 

--> or([1 0 1; 0 4 3])

 

 

 

 

 

 

 

ans

=

 

 

 

 

 

 

 

 

T

 

 

 

 

Логическое сложение (операция ИЛИ)

-->B = or(A, 1)

 

 

над элементами столбцов или строк

B

=

 

 

 

 

 

матрицы

 

 

T T F

 

 

 

 

 

 

 

 

 

 

 

Где B - логический вектор.

 

 

-->B = or(A, 2)

 

 

 

 

B

=

 

 

 

Если n = 1 или| "r": or – возвращает

 

 

 

T

 

 

 

 

вектор-строку логических значений

 

 

 

 

B = or(A, 'r')

 

T

 

 

 

B(j) = or(A(:, j)).

 

 

 

 

 

B = or(A, 1)

 

 

T

 

 

 

 

 

 

 

 

 

 

 

 

Если n = 2 или " c": or возвращает

 

 

 

 

 

вектор-столбец логических значений

 

 

 

 

B = or(A, 'c')

B(i) = or(A(i, :))

 

 

 

 

 

 

B = or(A, 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поэлементное логическое сложение

--> x = [1 0 0];

 

 

(операция ИЛИ) над элементами

--> y = [1 1 1];

 

 

 

векторов или матриц

 

--> L = x | y

 

 

 

 

L

=

 

 

 

 

 

 

 

 

 

 

 

Где A и B вектора или матрицы с

 

T T T

 

L = A | B

 

 

 

 

 

элементами целого или логического типа,

 

 

 

 

 

--> y = [1 0 1];

 

 

которые должны иметь одинаковые

 

 

 

 

--> L = x | y

 

 

размеры.

 

 

 

 

 

 

 

 

L =

 

 

 

 

Если A или B является скаляром, она

 

 

 

 

T F T

 

 

заранее расширяется до размера другого

 

 

 

 

 

операнда.

 

 

 

 

 

 

 

 

L – вектор или матрица логических

 

 

 

 

 

 

значений

 

 

 

 

 

 

 

 

Логическое умножение (операция И) над

-->and([])

 

 

элементами вектора или матрицы

ans

=

 

 

 

 

 

 

 

 

T

 

 

 

b = and(A)

Где b

- логический скаляр, если

-->and(0)

 

and(A)

используется без

каких-либо

 

 

 

 

 

 

 

ans

=

 

 

 

 

 

 

 

 

 

 

 

 

291

 

вариантов "r",

 

"c",

n

 

(по

F

 

 

 

умолчанию).

 

 

 

 

 

-->

and(0 + 0*%i)

 

B

равно

%F,

если

хотя

бы

один

из

 

элементов A имеют значение %F или ноль.

ans

=

 

 

F

 

 

 

B

равно

,

в

противном

случае

 

 

 

 

 

 

 

(все элементы

A имеют

значение

%T,

-->and(%nan)

 

ненулевое или %nan.

 

 

 

 

 

 

 

 

 

ans

=

 

 

Где A вектор или матрица булевых,

 

 

T

 

 

 

целочисленных действительных или

 

 

 

 

 

 

комплексных значений

 

 

 

 

-->

and([1, 0 1])

 

 

 

 

 

 

 

 

 

ans

=

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

--> and([1 0 1; 0 4 3])

 

 

 

 

 

 

 

 

 

ans

=

 

 

 

 

 

 

 

 

 

 

F

 

 

 

Логическое умножение (операция И) над

-->B =

and (A, 1)

 

 

элементами столбцов или строк

 

B

=

 

 

 

 

 

матрицы

 

 

 

T F F

 

 

 

 

 

 

 

 

 

 

 

 

Где B вектор логических значений.

 

-->B =

and (A, 2)

 

 

B

=

 

 

and возвращает вектор-строку

 

 

 

B = and (A, 'r')

 

 

T

 

 

логических значений

 

 

 

 

 

 

B = and (A, 1)

 

 

 

 

F

 

 

b(j) = and(A(:, j));

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

B = and (A, 'c')

and возвращает вектор-столбец

 

 

 

 

 

B = and (A, 2)

логических значений

 

 

 

 

 

 

 

 

b(i) = and(A(i, :)) ;

 

 

 

 

 

 

 

 

 

 

Логическое умножение (операция И) над

--> x = [1 0 0];

 

 

векторами или матрицами

 

--> y = [1 1 1];

 

 

 

 

 

 

 

 

 

--> L = x & y

 

Где A и B вектора или матрицы с

 

 

L

=

 

 

 

 

T F F

 

 

элементами целого или логического типа,

 

L = A & B

 

 

 

которые должны иметь одинаковые

 

 

 

 

 

 

--> y = [1 0 1];

 

размеры.

 

 

 

 

 

 

 

 

 

 

 

 

 

--> L = x & y

 

Если A или B является скаляром, она

 

 

 

L =

 

 

 

заранее расширяется до размера другого

 

 

 

T F F

 

 

операнда.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L – вектор или матрица логических

 

 

 

 

 

значений

 

 

 

 

 

 

 

 

 

 

 

 

 

~A

 

Логическое отрицание (операция НЕ)

--> x = [1 0 0];

 

 

над элементами матрицы логических

-->

~x

 

 

 

 

 

значений

 

 

 

ans =

 

 

 

 

 

 

 

 

T F F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

--> y = [1 1 1];

 

 

 

 

 

 

 

 

 

--> oy = ~y

 

 

 

 

 

 

 

 

 

oy

=

 

 

 

 

 

 

 

 

 

 

T F F

 

*В примерах используются:

вектора x = [1 0 0] и y = [1 1 1];

матрицы А = [5 7 0; 3 2 4; 5 0 0] и B = [6 6 0; 1 3 5; -1 0 0].

292

 

Символы преобразования и примеры их применения. Таблица 1.2.4-1

Символ

Описание

 

 

%c

Выводит одиночный символ

 

 

%d

Выводит десятичное число

 

 

%e

Выводит десятичные числа с плавающей точкой в экспоненциальном виде

 

 

%E

Так же, как %e, но, используя прописные

 

 

%f

Выводит десятичные числа с плавающей запятой

 

 

%g

Более компактное %e или %f, незначительные нули не выводятся.

 

 

%G

Выводит десятичного целого числа (представление числа с основанием 10)

 

 

%i

Выводит целую часть десятичного числа (представление числа с основанием 10)

 

 

%s

Выводит строку символов

 

 

%u

Выводит целую часть десятичного числа без знака (представление числа с

 

основанием 10)

 

 

Ширина и точность полей. Таблица 1.2.4-2

Характер

Описание

Пример

 

 

 

 

 

Ширина поля

Строка цифр, указывающая минимальное

('%5d', 0)

0

 

количество цифр для печати

('%5d', 7)

7

 

 

('%5d', -9)

-9

 

 

('%5d', 45622)

45622

 

 

('%5d', 4562237)

45622

 

 

 

 

Точность

Строка цифр, включающая точку (.) указание

('%.0f', e)

3

 

количества цифр, которые должны быть

('%.0f.', e)

3

 

напечатаны справа от десятичной точки

('%.1f', e)

2.7

 

 

('%.2f', e)

2.72

 

 

('%.5f', e)

2.71828

 

 

('%f', e)

2.718282

 

 

 

 

Флаги форматирования. Таблица 1.2.4-3

Характер

Описание

Пример

 

 

 

 

 

 

 

 

 

Знак минус (-)

Левое выравнивание

('%-5.1f', e)

2.7__

 

 

 

 

 

 

 

 

Знак плюс (+)

Всегда печатает знак (+или -)

('%+5.1f', e)

_+2.7

 

 

 

 

 

 

 

 

Ноль (0)

Отображаются нул, а не пробелы

('%05.1f', e)

002.7

 

 

 

 

 

 

 

 

Знак плюс (+) или (-)

 

('%+-5.1f', e)

_+2.7_

 

 

 

 

 

 

 

 

Знак плюс (+) и ноль (0)

 

('% 05.1f', e)

+02.7_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

293

 

Таблица 1.2.4-4

 

 

 

 

 

Символ

Влияние на текст

 

 

 

 

 

 

''

Одиночная кавычка

 

 

 

 

 

 

%%

Одиночный знак процента

 

 

 

 

 

 

\\

Однократная обратная косая черта

 

 

 

 

 

 

\a

Аварийная сигнализация

 

 

 

 

 

 

\b

Возврат на одну позицию

 

 

 

 

 

 

\n

Новая строка

 

 

 

 

 

 

\r

Возврат каретки

 

 

 

 

 

 

\t

Горизонтальная табуляция

 

 

 

 

 

 

\v

Вертикальная табуляция

 

 

 

 

 

 

\xN

Шестнадцатеричное число, N

 

 

 

 

 

 

\N

Восьмеричное число, N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

294

Символы, специальные операции и примеры их использованияТаблица 1.2.2-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сим

 

 

Название

 

 

Роль

 

 

Описание

 

 

Примеры

 

вол

 

 

символа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

Точка

Десятичная точка.

 

Точка разделяет целую и дробную

 

Десятичная точка:

 

 

 

 

 

 

 

Операции.

 

части числа, используется в

102.5543

 

 

 

 

 

 

 

 

 

 

 

Доступ к элементам

 

поэлементных операциях, позволяет

 

Поэлементные операции:

 

 

 

 

 

 

 

структуры.

 

получать доступ к полям в структуре.

 

A.* B

 

 

 

 

 

 

 

 

 

 

 

 

 

Доступ к полям структуры

 

 

 

 

 

 

 

 

 

 

 

 

 

Struct.f1

 

 

 

 

 

 

 

 

 

...

 

 

Многоточие

Продолжение строки.

 

Три или более точки в конце строки

 

Продолжает ввод выражени

 

 

 

 

 

 

 

 

 

 

продолжают текущую команду на

 

--> f=5*x^7+%e*(35*sin(x

 

 

 

 

 

 

 

 

 

 

следующей строке.

 

> 7+x-a(5)/8);

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

Разделитель.

 

Запятые разделяют элементы строки в

 

Отделяет элементы строки

 

 

 

 

 

 

 

 

 

 

массиве, индексы массива, аргументы

 

mA = [12,13; 14,15]

 

 

 

 

 

 

 

 

 

 

функций и команд.

 

Отделяет индексы:

 

 

 

 

 

 

 

 

 

 

 

 

 

mА(1,2)

 

 

 

 

 

 

 

 

 

 

 

 

 

Отделяет входные и выход

 

 

 

 

 

 

 

 

 

 

 

 

 

[Y, I] = max (A, [], 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

Отделение нескольких ком

 

 

 

 

 

 

 

 

 

 

 

 

 

mА(1, 2), [Y, I] = max(A

 

 

 

 

 

 

 

 

 

:

 

 

Двоеточие

Создание

 

Оператор двоеточия позволяет

 

Создает вектор:

 

 

 

 

 

 

 

вектора.

 

создавать регулярные интервалы

 

x = 1:10, x = 1: 3: 19

 

 

 

 

 

 

 

Индексирование.

 

векторов, производить

 

Изменяет матрицу на вект

 

 

 

 

 

 

 

Итерация для цикла.

 

индексирования в массивах и

 

А (:)

 

 

 

 

 

 

 

 

 

 

определять границы циклаfor.

 

Присваивает новые значен

 

 

 

 

 

 

 

 

 

 

 

 

 

A = rand(3,4);A(:) = 1:1

 

 

 

 

 

 

 

 

 

 

 

 

 

Определяет диапазон инде

 

 

 

 

 

 

 

 

 

 

 

 

 

А(:), А (:, 3)

 

 

 

 

 

 

 

 

 

 

 

 

 

Определяет границы цикла

 

 

 

 

 

 

 

 

 

 

 

 

 

x = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

for k = 1:25

 

 

 

 

 

 

 

 

 

 

 

 

 

x = x + x.^ 2;

 

 

 

 

 

 

 

 

 

 

 

 

 

end

 

 

 

 

 

 

 

 

 

;

 

 

Точка с

Разделитель.

 

Точка с запятой разделяетописание

 

Отделяет строки при созд

 

 

 

 

запятой

Знак конца строки.

 

строкипри созданиимассива,

 

A = [12,13; 14,15]

 

 

 

 

 

 

 

Подавление вывода

 

подавляет отображения строки кода и

 

Подавляет вывод:

 

 

 

 

 

 

 

строки.

 

вывод результата.

 

Y = max(A);

 

 

 

 

 

 

 

 

 

 

 

 

 

Разделяет несколько кома

 

 

 

 

 

 

 

 

 

 

 

 

 

А = 12.5; B = 42.7, C =

 

 

 

 

 

 

 

 

 

 

 

 

 

B =

 

 

 

 

 

 

 

 

 

 

 

 

42.7000

 

 

 

 

 

 

 

 

 

 

 

 

 

()

 

 

Круглые

Последовательность

 

Круглые скобки определяют

 

Определяет последователь

 

 

 

 

скобки

операций.

 

последовательность операций в

 

(A.* (B./C)) - D

 

 

 

 

 

 

 

Заключает

 

выражениях, внутри скобок

 

Заключают списокпараметр

 

 

 

 

 

 

 

списокпараметров

 

перечисляются параметры функций и

 

fun(X, Y ,Z)

 

 

 

 

 

 

 

функций и индексы.

 

индексы в массиве.

 

Заключают список индексо

 

 

 

 

 

 

 

 

 

 

 

 

 

А (3, :), А (1,2), А (

 

 

 

 

 

 

 

 

 

[]

 

 

Квадратные

Конструктор массива.

 

Квадратные скобки осуществляют

 

Конструирует вектора:

 

 

 

 

скобки

Удаление пустой

 

построение и конкатенацию массивов,

 

X = [10 12 -3]

 

 

 

 

 

 

 

матрицы и ее элемента.

 

создание пустых матриц, удаление

 

Создает пустую матрицу:

 

 

 

 

 

 

 

Определение вектора

 

элементов массивов и определяют

 

A = []

 

 

 

 

 

 

 

выходных параметров.

 

векторвыходных параметров функций.

 

Удаляет столбец матрицы:

 

 

 

 

 

 

 

 

 

 

 

 

 

A (:, 1) = []

 

 

 

 

 

 

 

 

 

 

 

 

 

Определяет выходные пара

 

 

 

 

 

 

 

 

 

 

 

 

 

[C, iA, iB] = uni5(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

295

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сим

 

 

Название

 

 

Роль

 

 

Описание

 

 

Примеры

 

 

 

 

 

 

 

 

 

 

вол

 

 

символа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{}

 

 

Фигурные

 

Конструктор массива

 

Фигурныескобки осуществляют

 

Конструирует массив ячее

 

 

 

 

скобки

 

ячеек.

 

построение массива ячеек или

 

C = {[2.6 4.7 3.9], rand

 

 

 

 

 

 

 

 

 

 

определяют доступ к ним.

 

Реализует индексациюв ма

 

 

 

 

 

 

 

 

 

 

 

 

 

A = C {4,7,2}

 

 

 

 

 

 

 

 

 

 

//

 

 

Слеш

 

Комментарии

 

// Определяет комментарии в конце

 

Добавляет в программный

 

 

 

 

 

 

 

 

 

 

строки или в целой строке.

 

//Цель этого цикла - выч

 

 

 

 

 

 

 

 

 

 

/*

 

 

Слеш

 

Блок

 

/* Комментарии */ определяет блок

 

Добавляет в программный

*/

 

 

звездочка

 

комментариев

 

комментариев, которые располагаются

/*

 

 

 

 

 

 

 

 

 

 

 

 

на нескольких строках

 

Комментарий ...

 

 

 

 

 

 

 

 

 

 

 

 

*/

 

 

 

 

 

 

 

 

 

 

 

 

%

 

 

Процент

 

Указатель системных

 

Знак процента используется для

 

Указатель на системную к

 

 

 

 

 

 

 

констант

 

указания на системную константу.

 

%e, %pi, %i

 

 

 

 

 

 

 

 

 

 

$

 

 

Доллар

 

Команда операционной

 

Последний индекс элемента массива.

 

Указатель последнего инд

 

 

 

 

 

 

 

системы

 

 

 

 

A(1:2:$)

 

 

 

 

 

 

 

 

 

 

%{

 

 

Процентная

 

Блок

 

%{Комментарии %} определяет блок

 

Добавляет многострочные

%}

 

 

фигурная

 

комментариев

 

комментариев , которые

% {

 

 

 

 

 

 

скобка

 

 

 

 

располагаются на несколькихстроках

 

Комментарий ...

 

 

 

 

 

 

 

 

 

 

программного кода

%}

 

 

 

 

 

 

 

 

 

 

 

 

'

 

 

Одинарные

 

Конструктор

 

Используется для создания

 

Создает символьную перем

 

 

 

 

кавычки

 

строк.

 

символьной переменной.

 

chr = 'Привет'

 

 

 

 

 

 

 

 

 

 

"

 

 

Двойные

 

Конструктор

 

Используется для создания строковых

 

Создает символьную перем

 

 

 

 

кавычки

 

строк

 

скаляров типа string.

 

S = "Привет, Ректор

 

 

 

 

 

 

 

 

 

 

~

 

 

Тильда

 

Логическое НЕ.

 

Используется для представления

 

Определяет неравенство:

 

 

 

 

 

 

 

Заполнитель

 

логического отрицания или для

 

A = [1 -1; 0 1]; B

 

 

 

 

 

 

 

аргументов

 

подавления конкретных входных или

 

А ~ = В

 

 

 

 

 

 

 

 

 

 

выходных параметров.

 

Возвращает только третье

 

 

 

 

 

 

 

 

 

 

 

 

 

[~, ~, iB] = Fun3 (

 

 

 

 

 

 

 

 

 

 

=

 

 

Знак

 

Присваивание.

 

Используется для присваивания

 

Создает матрицу A и B,

 

 

 

 

равенства

 

 

 

 

значений переменной.

 

A = [1 0; -1 0];

 

 

 

 

 

 

 

 

 

 

 

 

 

B = A;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

296

Приложение 1.3

Функции, используемые для создания специальных матриц. Таблица 1.3.2-1

 

Функции

Описания

 

 

Примеры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создание матриц со

--> A = ones()

 

 

 

 

 

 

 

 

 

 

значениями 1

A =

 

 

 

 

 

 

 

 

1.

 

 

 

 

 

 

A = ones()

Возвращается скаляр со значениями 1.

-->A = ones(2,3)

 

 

 

Возвращается матрицаn×n со значениями

 

 

 

A = ones(n,n)

элементов матрицы равными1.

A =

 

 

 

 

 

 

 

 

 

1.

1.

1.

 

 

 

 

 

Возвращается матрица n×m со значениями

 

 

 

 

A = ones(n,m)

 

1.

1.

1.

 

 

 

ми матрицы равные 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

A = ones(B)

Возвращается матрица со значениями

--> B = [2 3; 4 5];

 

 

 

элементов матрицы равными1 и

 

 

 

 

 

-->A = ones(B)

 

 

 

 

 

характеристиками, аналогичными

 

 

 

 

 

A =

 

 

 

 

 

 

 

 

характеристиками матрицы B.

 

 

 

 

 

 

 

 

 

1.

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

Создание матриц со

--> A= zeros()

 

 

 

 

 

 

 

 

 

 

значениями 0

A =

 

 

 

 

 

 

 

 

 

0.

 

 

 

 

 

 

A = zeros()

Возвращается скаляр со значениями 0.

-->A = zeros(2,3)

 

 

 

Возвращается матрицаn×n со значениями

 

 

 

 

 

элементов матрицы равными 0.

 

 

 

 

 

 

 

A = zeros(n,n)

 

A =

 

 

 

 

 

 

 

Возвращается матрица n×mсо значениями

 

 

 

 

 

 

 

 

 

0.

0.

0.

 

 

 

 

 

элементов матрицы равными 0.

 

 

 

 

A = zeros(n, m)

 

 

0.

0.

0.

 

 

 

 

Возвращается матрица со значениями

 

 

 

 

 

 

 

 

 

 

 

 

 

A = zeros(B)

 

элементов матрицы равными 0и

--> B = [2 3; 4 5];

 

 

 

 

характеристиками, аналогичными

 

 

 

 

 

-->A = zeros(B)

 

 

 

 

 

характеристиками матрицы B.

 

 

 

 

 

A =

 

 

 

 

 

 

 

 

 

0.

0.

 

 

 

 

 

 

 

 

0.

0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создание матрицы со значениями

--> D1 = eye()

 

 

 

 

 

1 на главной диагонали и 0 во

D1

=

 

 

 

 

 

 

 

всех других элементах

-->eye *

 

 

 

 

 

 

 

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D = eye()

Возвращается единичная матрица

--> D2 = eye(3,3)

 

 

 

неопределенного размера со значениями

 

 

 

 

 

D

=

 

 

 

 

 

 

 

1. Размеры будут определены, когда

 

 

 

 

 

 

 

1.

0.

0.

 

 

 

 

 

 

данная единичная матрица будет

 

 

 

 

 

 

0.

1.

0.

 

 

 

 

 

 

просуммирована с матрицей

 

 

 

 

 

 

0.

0.

1.

 

 

 

 

 

 

фиксированного размера.

 

 

 

 

D = eye(n,n)

 

 

 

 

 

 

 

Возвращается матрица n×nсо значениями

 

 

 

 

 

 

 

 

 

--> D3 = eye(2,3)

 

 

 

 

 

элементов на главной диагонали равные 1

 

 

 

 

 

и0в остальных элементах.

D3

=

 

 

 

 

 

D = eye(n,m)

1.

0.

0.

 

 

 

 

Возвращается матрица n×m со значениями

 

 

 

 

 

 

элементов на главной диагонали равные

0.

1.

0.

 

 

 

 

 

 

 

 

 

 

 

 

 

D = eye(V)

1и0в остальных элементах.

--> V = [1252 14];

 

 

 

Возвращается матрица со значениями

 

 

 

 

 

--> D4 = eye(V)

 

 

 

 

 

элементов на главной диагонали равные

 

 

 

 

 

D4

=

 

 

 

 

 

 

 

1и0в остальных элементах. Размер

 

 

 

 

 

 

 

1.

0.

0.

 

 

 

 

 

 

матрицы определяется размером вектора

 

 

 

 

 

 

0.

1.

0.

 

 

 

 

 

 

V.

 

 

 

 

 

 

0.

0.

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

297

 

Функции

 

Описания

 

Примеры

 

 

 

 

 

 

 

 

 

 

Создание диагонали квадратной

--> V = [13 62 94];

 

 

 

 

 

 

 

 

матрицы из заданного вектора;

--> A = zeros (3,3);

 

 

 

 

создание диагональной матрицы

--> A = diag(V)

 

 

 

 

 

 

 

A =

 

 

 

 

 

 

 

 

 

 

и вектора из диагонали

 

 

 

 

 

 

 

 

 

 

13.

0.

 

0.

 

 

 

 

 

 

 

квадратной матрицы

 

 

 

 

 

 

 

 

0.

62.

 

0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Возвращается матрицаn×nсо значениями

0.

0.

 

94.

 

 

 

 

 

A = diag(V)

 

 

 

 

 

 

 

 

 

 

 

элементов вектора Vна главной

 

 

 

 

 

 

 

 

 

 

 

--> A = diag(V,-1)

 

 

 

 

диагонали.

 

 

 

 

A =

 

 

 

 

 

 

 

 

 

 

Помещаются значения элементов

 

 

 

 

 

 

 

 

A = diag(V, k)

 

0.

0.

0.

0.

 

 

 

 

 

 

 

вектора Vна k-ю диагональ, где

13.

0.

0.

0.

 

 

 

 

 

 

 

k=0представляет собой главную

0.

62. 0.

0.

 

 

 

 

 

 

 

диагональ, k>0представляет диагональ,

0.

0. 94. 0.

 

 

 

 

 

 

 

которая находится выше главной

--> V= diag(A,-1)

 

 

 

 

диагонали и k<0представляет диагональ,

 

 

 

V =

 

 

 

 

 

 

 

 

 

 

которая находится ниже главной

 

 

 

 

 

 

 

 

V = diag(A)

 

13.

 

 

 

 

 

 

 

 

 

диагонали.

 

 

 

 

 

 

 

 

 

 

62.

 

 

 

 

 

 

 

 

 

 

Возвращается вектор-столбец главных

 

 

 

 

 

 

 

 

 

94.

 

 

 

 

 

 

 

 

 

 

диагональных элементов матрицы A.

 

 

 

 

 

 

 

 

V= diag(A, k)

 

 

 

 

 

 

 

 

 

 

 

 

Возвращает вектор-столбец элементов

 

 

 

 

 

 

 

 

 

 

 

на k-й диагонали A.

 

 

 

 

 

 

 

 

 

 

 

V – вектор или матрица, k – целое

 

 

 

 

 

 

 

 

 

 

 

число (значение по умолчанию равно 0),

 

 

 

 

 

 

 

 

 

 

 

A– вектор или матрица.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создание матрицы с равномерно

--> B=[2 4; 3 5];

 

 

 

 

распределенными случайными

--> A=rand(3, 2)

 

 

 

 

 

 

 

 

числами

A =

 

 

 

 

 

 

 

 

 

 

0.84155

0.87841

 

 

 

 

 

 

 

 

 

 

 

 

 

A = rand(n,m)

 

Возвращается матрицу с равномерно

0.4062

0.11384

 

 

 

 

 

 

 

распределенными случайными

0.40948

0.19983

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A = rand(B)

 

числами в диапазоне [0; 1].

--> A=rand(B)

 

 

 

 

 

 

 

 

Возвращается матрицу с равномерно

 

 

 

 

 

 

 

 

 

распределенными случайными

A =

 

 

 

 

 

 

 

 

 

 

0.56187

0.6854

 

 

 

 

 

 

 

 

числами в диапазоне [0; 1] того

 

 

 

 

 

 

 

 

0.58962

0.89062

 

 

 

 

 

 

 

же размера, что и матрица В.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создание матрицы c нормально

-->B=rand(3,2,'normal')

 

 

 

 

распределенными случайными

B=

 

 

 

 

 

 

 

 

 

 

числами в диапазоне

-1.7211

0.18423

 

 

 

 

 

 

 

 

-0.0047

0.1023

 

 

 

 

 

rand(n,m, 'normal')

 

Возвращается матрицу вещественных

-1.71576

-1.03329

 

 

 

 

 

 

или комплексных случайных чисел с

 

 

 

 

 

 

 

 

 

 

 

--> A=[2 3;4 6];

 

 

 

 

 

 

 

 

математическим ожиданием0,

 

 

 

 

 

 

 

 

--> B=rand(A,'normal')

 

 

 

 

дисперсией 1 и размера

 

 

 

 

B =

 

 

 

 

 

 

 

 

 

 

[n; m].

 

 

 

 

 

 

 

 

randn(A, 'normal')

 

-1.28586

0.61078

 

 

 

 

 

 

Возвращается матрицу вещественных

 

 

 

 

 

 

 

или комплексных случайных чисел с

0.59712

-1.05679

 

 

 

 

 

 

 

математическим ожиданием 0,

 

 

 

 

 

 

 

 

 

 

 

дисперсией 1 того же размера, что

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

grand

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

298

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функции

Описания

 

 

 

Примеры

 

 

 

 

 

Создание матрицы

 

--> D = repmat(1:2, 2, 2)

 

 

D =

 

 

 

 

 

 

 

 

повторяющимися значениями

 

 

 

 

 

 

 

 

 

 

1.

2.

1.

2.

 

 

 

 

 

 

 

 

 

 

 

D = repmat(A, m, n)

Возвращается матрица размера m×n,

 

1.

2.

1.

2.

 

 

 

 

состоящая из копий матрицы A,

 

 

 

 

 

 

 

 

 

 

 

--> A=[2 3;3 4];

 

заданной вектором или матрицей.

 

 

 

--> D = repmat(A, 2, 2)

 

 

 

 

 

 

D =

 

 

 

 

 

 

 

 

 

 

2.

3.

2.

3.

 

 

 

 

 

 

 

3.

4.

3.

4.

 

 

 

 

 

 

 

2.

3.

2.

3.

 

 

 

 

 

 

 

3.

4.

3.

4.

 

 

 

 

 

 

 

 

 

Сцепление матриц в указанном

 

-->В=[1 2 3 4;5 6 7 8];

 

измерении

 

--> C=cat(1, A, B)

 

 

 

C =

 

 

 

 

 

 

 

 

Возвращается матрица, в которой

 

1.

2.

3.

4.

 

 

 

 

C=cat(dim,A,B,…)

 

5.

6.

7.

8.

 

 

 

 

происходит сцепление матриц,

 

 

 

 

 

 

 

1.

2.

3.

4.

 

 

 

 

 

перечисленных в параметрах. Если

 

 

 

 

 

 

 

5.

6.

7.

8.

 

 

 

 

 

dim = 1, то сцепление происходит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

по строкам входных параметров, а

 

--> C=cat(2, A, B)

 

если 2 – по столбцам.

 

 

 

C =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

2. 3. 4. 1. 2.3. 4.

 

 

 

 

 

 

5.

6. 7. 8.5. 6. 7. 8.

 

 

 

 

 

 

 

 

Генерируется заданное

 

-->linspace(1,2,3)

 

количество чисел между 2-мя

 

ans =

 

 

 

 

 

 

 

границами

 

1.

1.5

2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V=linspace(х1,х2,n)

Возвращается вектор-строка

 

-->linspace([1:2]',[3:4]',3)

М=linspace(c1,c2,n)

 

ans =

 

 

 

 

 

 

из n значений, равномерно

 

 

 

 

 

 

 

 

 

1.

2.

3.

 

 

 

 

 

 

распределённых точно в заданном

 

 

 

 

 

 

 

 

2.

3.

4.

 

 

 

 

 

 

диапазоне.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Возвращается вектор-строку с

 

-->logspace(1,2,3)

 

интервалами между элементами в

ans =

 

 

 

 

 

 

 

логарифмическом масштабе

 

10. 31.62277

100.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Возвращается вектор-строка

 

-->logspace([1:2]',[3:4]',3)

V=logspace(d1,d2,n)

 

ans=

 

 

 

 

 

 

из n значений, равномерно

 

 

 

 

 

 

 

 

 

10.

 

100.

1000.

 

 

 

 

 

распределённых в логарифмическом

 

 

 

 

 

 

М=linspace(c1,c2,n)

 

100.

1000.

10000.

 

 

 

 

масштабе точно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

между 10d1 и 10d2. Если d2 = %pi,

 

 

 

 

 

 

 

 

 

 

то точки располагаются

 

 

 

 

 

 

 

 

 

 

между 10d1 и %pi.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создание специальных матриц

 

--> M=testmatrix('magi',3)

 

 

 

M =

 

 

 

 

 

 

testmatrix('magi',n)

Возвращается матрица магического

 

8.

1.

6.

 

 

 

 

 

 

 

3.

5.

7.

 

 

 

 

 

 

квадрата размера nхn.

 

 

 

 

 

 

testmatrix('frk',n)

 

4.

9.

2.

 

 

 

 

 

Возвращается матрица Франка.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

testmatrix('hilb',n)

Возвращается матрица Гильберта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Hij=1/(i+j-1)).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

299

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функции преобразования индексаций. Таблица 1.3.3-1

Функция

 

Описание

 

 

 

Примеры

 

 

Возвращается эквивалент

 

--> A = [2 6; 4 8; 3 5];

 

 

матричных индексов

 

-->l=sub2ind(size(A),3,2)

I = sub2ind(size(A), K, L)

(K и L) в линейную

 

lin

=

 

 

 

 

6.

 

 

 

 

 

 

индексацию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Где K вектор номеров

 

 

 

 

 

 

 

 

 

строк, а L вектор номеров

 

 

 

 

 

 

 

 

столбцов.

 

 

 

 

 

 

 

 

 

Возвращается эквивалент

 

--> A = [2 6; 4 8; 3 5];

 

 

линейных индексов в

 

-->[r c]=ind2sub(size(A),6)

[K, L] = ind2sub(size(A),I)

строки и столбцы

 

c

=

 

 

 

 

 

2.

 

 

 

 

 

матричной индексации

 

 

 

 

 

 

 

 

r

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Где I линейные индексы, а

 

 

3.

 

 

 

 

 

 

 

 

 

 

 

 

 

K и L вектора

 

 

 

 

 

 

 

 

 

соответствующих индексов.

 

 

 

 

 

 

Примеры применения операции двоеточия при адресации. Таблица 1.3.3-2

Функция

Описания

 

 

Примеры

 

 

 

 

 

Адресация для вектора

 

--> V = [3 6 7 8 1 5];

 

 

 

 

 

V(:) =

 

 

 

 

V(:)

Обращение ко всем элементам

 

3

6

7 8 1 5

 

 

 

V(n:m)

вектора.

 

 

 

 

 

 

 

 

 

 

Обращение к элементам вектора

 

--> V(3:5) =

 

 

от n номера до m номера.

 

7

8

1

 

 

 

 

Адресация для матрицы

 

--> mB = [1 2 3; 4 5 6];

 

 

 

 

 

--> mB(:, 2)

 

mА(:, m)

Обращение ко всем элементам m

 

ans

=

 

 

 

 

 

столбца матрицы mA.

 

2.

 

 

 

 

 

 

mА(n, :)

Обращение ко вcем элементам n

 

5.

 

 

 

 

 

 

 

столбца матрицы mA.

 

 

 

 

 

 

 

 

mА(:, m1:m2)

Обращение ко всем элементам

 

--> mB(1, 2 : 3)

 

 

столбцов от m1 до m2 матрицы

 

ans

=

 

 

 

 

 

mA.

 

 

2.

3.

 

 

 

 

mА(n1:n2, :)

Обращение ко всем элементам

 

 

 

 

 

 

 

 

 

строк от n1 до n2 матрицы mA.

 

--> mB(:, 1 : 2)

 

mA(n1:n2, 1:m2)

Обращение ко всем элементам

 

ans

=

 

 

 

 

 

строк от n1 до n2 и столбцов

 

1.

2.

 

 

 

 

 

от m1 до m2 матриц mA.

 

4.

5.

 

 

 

 

 

 

 

 

--> mB(1 : 2, 2 : 3)

 

 

 

 

 

ans

=

 

 

 

 

 

 

 

 

2.

3.

 

 

 

 

 

 

 

 

5.

6.

 

 

 

 

 

Адресация для вектора

 

--> M = [2 6 9; 4 2 8; 3 51];

 

 

 

 

 

--> M(1 : $, :)

 

$

Обращение ко всем элементам

 

ans

=

 

 

 

 

 

вектора.

 

 

2.

6.

9.

 

 

 

 

Обращение к элементам вектора

 

4.

2.

8.

 

 

 

 

до последнего номера.

 

3.

5.

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

300