Добавил:
ИВТ (советую зайти в "Несортированное")rnПИН МАГА Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
18.09.2024
Размер:
3 Кб
Скачать
%% Арифметические выражения
% Матлаб можно использовать как калькулятор
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