Основы работы в matlab
Основы Matlab
Здравствуйте, уважаемые читатели! В нашей статье, посвященной основам программирования MatLab, мы познакомимся с синтаксисом этого языка, который мы будем использовать в основном для математических вычислений.
MATLAB — это интерактивная система, в которой основным элементом данных является массив. Это позволяет решать различные задания, связанные с техническими вычислениями, особенно в которых используются вектора и матрицы, в несколько раз быстрее, чем при написании программ с использованием других языков программирования.
Переменные в MATLAB:
Существует несколько типов переменных, вот самые основные из них:
- logical (true – 1, false – 0)
- char – символьная строка
- numeric – массивы чисел с плавающей запятой
- int: int8 (массив 8-разрядных целых чисел со знаком, 1 байт на одно число), также есть int16, int32, int64
- single – массив чисел с плавающей запятой одинарной точности (4 байта на одно число)
- double – массив чисел с плавающей запятой двойной точности (16 знаков)
- structure – структурированный массив полей для хранения данных с именами
Имя переменной:
длина — до 63 символов;
не должно совпадать с именами функций и процедур;
должно начинаться с буквы;
может содержать буквы, цифры, знак подчёркивания;
различаются большие и маленькие буквы.
Задать переменную очень легко:
Как видите, Matlab сам выводит результат операции с 2 переменными.
Массивы:
Начнем с задания одномерных массивов:
Задание в командной строке: x = [1,2,3,4] или x = [1 2 3 4]
Задание отдельных элементов: х(3) = 3
Длину массива можно найти командой: length (x)
Переходим к двумерным массивам:
Задание в командной строке: x = [1,2,3,4;5,6,7,8]
Задание отдельных элементов: х(2,3) = 7
Обращение к отдельной р-ой строке массива: у = [р,:]
Обращение к к-ому столбцу массива: у = [:,к]
Команда В=А(. ) обращается ко всем элементам матрицы, т.е. создаёт копию матрицы А.
Также следует знать о стандартных матрицах:
- zeros(n,m) — матрица из нулей размера nxm
- ones(n,m) – матрица из единиц размера nxm
- rand(n,m) – матрица случайных чисел размера nxm
- eye(n,m) – матрица из единиц на главной диагонали размера nxm
Операторы:
Операторы следует знать, так как без них невозможно освоить все основы программирования на MATLAB.
- Арифметические операторы (арифметические выражения, вычисления)
- Операторы отношения (сравнение аргументов)
- Логические операторы (логические выражения)
Уровни приоритета арифметических операторов:
- Поэлементное транспонирование (.’ ), поэлементное возведение в степень (.*), сопряжение матрицы (‘), возведение матрицы в степень(^)
- Унарный плюс(+) и унарный минус (-)
- Поэлементное умножение массивов(.*), правое деление массивов (./) и левое (.), умножение матриц (*), решение систем линейных уравнений операции (/) и ()
- Сложение (+) и вычитание массивов (-)
- Оператор (:)
Внутри каждого уровня операторы имеют равный приоритет и вычисляются в порядке следования слева направо. Порядок вычислений может быть изменён скобками.
- меньше — функция lt()
- меньше или равно — функция le()
- > — больше — функция gt()
- >= — больше или равно — функция ge()
- == — равно — функция eg()
= — не равно — функция ne()
Их приоритет ниже арифметических, но выше логических операторов.
- & — массив: 1- для каждого местоположения, в котором оба элемента имеют значение true (отличны от нуля) и 0 – для всех остальных элементов; функция and()
- | — массив: 1- для каждого местоположения, в котором хотя бы один элемент имеет значение true (отличен от нуля) и 0 – для всех остальных элементов; функция or()
— логическое отрицание для каждого элемента входного массива, А; функция not()
Простые примеры:
Задание матрицы 3 на 4 рандомными числами:
Далее определим детерминант следующей матрицы:
Идем дальше:
Приведем пример перемножения матриц, напомню, что матрицы можно перемножать только в том случае, если число столбцов 1 матрицы совпадает с числом строк 2 матрицы.
На этом мы сегодня закончим. В следующих статьях мы будем уже подробно разбираться со всеми возможностями MATLAB. И поверьте, возможности эти очень большие.
Если у вас остались вопросы, то задавайте их в комментариях.
В помощь математикам: обзор MATLAB
Доверь свою работу кандидату наук!
Обзор MATLAB
Те, кто имеет дело с высшей математикой, прекрасно знают, с какими математическими «чудовищами» иногда приходится сталкиваться. Например, на вычисление какого-нибудь гигантского тройного интеграла можно потратить настоящую уйму времени, душевных сил и не восстанавливающихся нервных клеток. Конечно, это очень интересно, бросить вызов интегралу, и взять его. Но, что делать, если вместо этого интеграл грозиться взять Вас? Или, что еще хуже, кубический трехчлен вышел из-под контроля и разбушевался? Такого и врагу не пожелаешь.
Что делать?
Раньше вариантов было всего два: плюнуть на все и пойти гулять или вступить в многочасовую схватку с интегралом. Ну, кому многочасовую, кому многоминутную – кто как учился. Но суть не в этом. Двадцатый век и неумолимо движущийся прогресс предлагают нам третий способ, а именно позволяют взять самый сложный интеграл «по-быстрому». То же самое касается решения всевозможных уравнений, построения графиков функций в виде кубических гиперболоидов и т.д.
Для таких неординарных, но периодически случающихся среди студентов ситуаций существует мощное математическое оружие. Встречайте, кто еще не знает – пакет программ MATLAB.
Матлаб и решит уравнение, и аппроксимирует, и построит график функции. Понимаете, что это значит, друзья?
Это значит, что MATLAB – один из мощнейших на сегодняшний день пакетов обработки данных. Название расшифровывается как Matrix Laboratory. Матричная Лаборатория, если по-русски. Возможности программы покрывают практически все области математики. Так, пользуясь матлабом, Вы сможете:
- Производить всевозможные операции над матрицами, решать линейные уравнения, работать с векторами;
- Вычислять корни многочленов любой степени, производить операции над многочленами, дифференцировать, экстраполировать и интерполировать кривые, строить графики любых функций;
- Проводить статистический анализ данных с использованием цифровой фильтрации, статистической регрессии;
- Решать дифференциальные уравнения. В частных производных, линейных, нелинейных, с граничными условиями – не важно, матлаб все решит;
- Выполнять операции целочисленной арифметики.
MATLAB
Помимо всего этого возможности MATLAB позволяют визуализировать данные вплоть до построения трехмерных графиков и создания анимированных роликов.
Наше описание матлаб, конечно, далеко не полное. Помимо предусмотренных производителем возможностей и функций существует огромное количество инструментов матлаб, написанных просто энтузиастами или другими компаниями.
MATLAB как язык программирования
М-файл
А еще MATLAB – это язык программирования, используемый непосредственно при работе с программой. Не будем вдаваться в подробности, скажем только, что программы, написанные на языке MATLAB, бывают двух видов: функции и скрипты.
MATLAB — серьезное средство для серьезных ребят
Основной рабочий файл программы – М-файл. Это бесконечный текстовый файл, и именно в нем происходит непосредственно программирование вычислений. Кстати, пусть Вас не пугает это слово – для того, чтобы работать в MATLAB, вовсе не нужно быть профессиональным программистом.
М-файлы делятся на
- М-сценарии. М-сценарий – самый простой тип M-файла, у которого отсутствуют входные и выходные аргументы. Данный файл используется для автоматизации многократно повторяемых вычислений.
- M-функции. М-функции – это М-файлы, допускающие наличие входных и выходных аргументов.
Для того чтобы наглядно показать, как происходит работа в MATLAB, приведем ниже пример создания функции в матлабе. Данная функция будет вычислять среднее значение вектора.
function y = average (x)
% AVERAGE Среднее значение элементов вектора.
% AVERAGE(X), где X — вектор. Вычисляет среднее значение элементов вектора.
% Если входной аргумент не является вектором, генерируется ошибка.
[m,n] = size(x);
if (
Строка определения функции сообщает системе MATLAB, что файл является М-функцией, а также определяет список входных аргументов. Так, строка определения функции average имеет вид:
function y = average(x)
Где:
- function — ключевое слово, определяющее М-функцию;
- y — выходной аргумент;
- average — имя функции;
- x — входной аргумент.
Итак, чтобы написать функцию в матлабе, необходимо помнить, что каждая функция в системе MATLAB содержит строку определения функции, подобную приведенной.
Безусловно, такой мощный пакет нужен не только для того, чтобы облегчить жизнь студентам. В настоящее время MATLAB, с одной стороны, очень популярен среди специалистов многих научных и инженерных отраслей. С другой стороны, возможность работы с большими матрицами делает MATLAB незаменимым инструментом финансовых аналитиков, позволяющим решить намного больше задач, чем, к примеру, известный всем Excel. Подробнее о том, как сделать презентацию на компьютере вы можете прочитать в обзорной статье.
Недостатки работы с MATLAB
MATLAB — хорошо, но тяжело
Какие есть трудности в работе с MATLAB? Трудность, пожалуй, всего одна. Но фундаментальная. Чтобы полностью раскрыть возможности MATLAB и с легкостью решать встающие перед Вами задачи, придется попотеть и сначала разобраться с самим матлабом (как создать файл, как создать функцию и др.). А это не так просто, ибо мощность и широкие возможности требуют жертв.
При всем желании нельзя сказать, что MATLAB – простая программа. Тем не менее, надеемся, все вышеперечисленное будет достаточным аргументом для того, чтобы взяться за ее освоение.
И напоследок. Если Вы не знаете, почему все в Вашей жизни пошло так, а не иначе, спросите об этом у матлаба. Просто наберите в командной строке “why” (почему). Он ответит. Попробуйте!
Теперь вы знаете возможности Матлаб. В области образования MATLAB часто используется в преподавании численных методов и линейной алгебры. Многим студентам не обойтись без него при обработке результатов эксперимента, проведенного в ходе лабораторной работы. Для быстрого и качественного освоения основ работы с MATLAB Вы всегда можете обратиться к нашим специалистам, в любой момент готовым ответить на любой Ваш вопрос.