Добавил:
ИВТ (советую зайти в "Несортированное")rnПИН МАГА Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
18.09.2024
Размер:
28.67 Кб
Скачать

%% Арифметические выражения

% Матлаб можно использовать как калькулятор

39 + 79 % Обратите внимание, что знак '+' подчёркнут. Наведите курсор, чтобы

% увидеть предупреждение

135 * 10; % Результат этого действия не будет выведен. Посмотрите предупреждение на умножении,

% сравните его с предыдущим

ans + 5 % Результат предыдущего вычисления хранится в переменной ans. При этом не важно,

% был выведен результат, или нет.

%% Переменные

clc % очистим командную строку

% Можно создвать свои переменные

x = 9/10 % Снова знакомое предупреждение

y = 11; % Теперь ничего не выведено

z = x + y^2 % Можно использовать переменные в других выражениях

a = z^2;

A = sqrt(z);

a, A % Матлаб чувтствителен к регистру

whos % Встроенная команда, печатает информацию о всех переменных в области видимости

%% Формат вывода

clc

format short

x, y, z

format long

x, y, z

format rat % Нет, это не крыса. Это rational.

x, y, z

%% Вектора

clc

clear

whos % Где все переменные? Мы удалили их с помощью clear

% Все переменные выше -- скаляры. Мы можем создать вектор

x = [1, 4, 5]; % Это вектор-строка

y = [6 9 -1]; % Запятые можно не ставить

z = [0; 0; 1]; % Это вектор-столбец

x, y, z

x * z % При умножении строки на столбец той же длины вычисляется их скалярное произведение

x .* y % Вектора одинаковой размерности можно перемножить поэлементно

??? % Как возвести каждый элемент вектора в квадрат?

y' % Вектора можно транспонировать

[0 1 0]' % Можно это делать прямо во время определения

%% Конструкторы векторов

clc

clear

x = 1 : 9 : 50 % Догадайтесь о смысле этой записи

y = 0:9 % А теперь что получилось?

z = [x, y] % вектора можно склеивать друг с другом

w = [z; z] % и не только по горизонтали. Вообще говоря, w это уже матрица

horzcat(w, w) % И не только скобками

linspace(0, 100, 10) % Удобный способ получения равноудалённых точек на заданном

% отрезке. Первые два аргумента -- начало и конец. Третий -- число точек.

rand(1, 4) % когда лень придумывать числа

%% Матрицы

clc

% Скомбинируем определения строки и столбца

A = [1 2 3; 6 5 4; 0 1 0] % Получили матрицу

% Но небольшие матрицы лучше записывать вот так

B = [

1 2 3

6 5 4

0 1 0] % А то ничего не понятно.

??? % Как перемножить матрицы поэлементно?

??? % Транспонируйте матрицу B

rand(5) % Матрицы тоже можно рандомить

B = [B; [1 1 1]];

size(B) % узнать размер матрицы

B(1, 2) % Здесь 1 и 2 называются индексами. Первый аргумент -- строка, второй -- столбец

z = B(2, 2:3) % индексами могут быть вектора

B(:, 2) % А двоеточие здесь имеет смысл "все"

B(3, 2:end) % Если мы не хотим писать номер последнего столбца

B(1, 1) = 0 % Элементы матриц можно изменять

B(2, :) = 9

%% Конструкторы матриц

% Их два основных

A = zeros(4)

B = ones(3, 4)

%% Задание

% Создайте матрицу 9х10, где на 1 строке стоят -1, на 2 строке

% номер вашего комьютера по модулю 7 плюс 3 строка, а все остальные

% строки (т.е. с 3 по 9) заполнены случайными числами. Постарайтесь

% обойтись как можно меньшим числом операций.

%% А ещё в Матлабе есть носороги

implay('rhinos.avi');

Соседние файлы в папке модуль 1 часть 1