Переменные, оператор присваивания, перенос строки, форматы чисел, комментарии (определения и примеры).
Переменные – это имеющие имена объекты, способные хранить разные по значению данные.Для задания переменным определенных значений используется оператор присваивания, вводимый знаком равенства = Имя _ переменной = Выражение; Имя должно начинаться с буквы, может содержать буквы, цифры и символ подчеркивания _. Недопустимо включать в имена пробелы и специальные знаки. Перенос строки Если математическое выражение выходит за размер экрана монитора, то целесообразно перенести его часть на следующую строку. Для этого используется символ многоточие … − три и более точки. В командном режиме число возможных символов в одной строке – 4096, в М-файле – не ограничено, но с такими длинными строками работать неудобно. Поэтому применение в файлах-сценариях символа переноса строки улучшает наглядность программ. Форматы чисел При вычислениях в MATLAB используется режим двойной точности. Однако, при выводе результатов, по умолчанию выдаются числа с 4 цифрами после десятичной точки в действительной форме. Чтобы изменить данную форму вывода, необходимо в программе перед выводимой величиной использовать команду format name, где name −имя формата. Для числовых данных name может быть следующим сообщением: short − короткое представление в фиксированном формате (5 знаков); short е − короткое представление в экспоненциальной форме (5 знаков мантиссы и 3 знака порядка); long – длинное представление в фиксированном формате (15 знаков); long е – длинное представление в экспоненциальной форме (15 знаков мантиссы и 3 знака порядка). В качестве примера рассмотрим вывод вектора, содержащий 2 числа: format name x = [5/3 1.2783 e − 7].Задание формата сказывается только на форме вывода чисел. Вычисления же происходят в режиме двойной точности, а ввод чиселосуществляется в любом удобном виде.
10. Формирование векторов и матриц. Оператор двоеточие: MATLAB специально предназначен для проведения сложных вычислений с векторами и матрицами. При этом по умолчанию предполагается, что каждая переменная – это вектор или матрица. Например, если задано х = 1, то это значит, что х – это вектор с одним элементом, равным 1. Если надо задать вектор из трех элементов, то их значения надо перечислить в квадратных скобках, разделяя пробелами. >>V = [1 2 3] V = 1 2 3 В данном случае задан вектор-строка. Если разделить элементы точкой с запятой, то получим вектор-столбец. >>V = [1; 2; 3] V = 1;2;3 Задание матрицы требует указания несколько строк. Для разграничения строк используется символ; (точка с запятой). >>Т = [1 2 3; 4 5 6; 7 8 9] Т = 1 2 3;4 5 6;7 8 9 Для указания отдельного элемента вектора или матрицы используются выражения вида V(i) или T(i, j). Например: >>Т (3,2) ans = 8 Если элементу Т(i, j) нужно присвоить новое значение х, то используют оператор присваивания Т (3,2) = х; Функция zeros создает массив с нулевыми элементами >> b = zeros (2, 3) b = 0 0 0;0 0 0 Оператор двоеточие: Весьма часто необходимо выполнить формирование упорядоченных числовых последовательностей. Такие последовательности нужны для создания векторов или значений аргументов х при построении графиков. В MATLAB для этого используется оператор двоеточие:, который представляется следующим образом: х = Начальное _ значение: Шаг: Конечное _ значение; Эта конструкция создает возрастающую последовательность чисел, которая начинается с начального значения, изменяется на заданный шаг и завершается конечным значением. Если шаг не задан, то он принимает значение 1. Если конечное значение указано меньшим, чем начальное значение, − то выдается сообщение об ошибке. Примеры: >> x = 0: 5 x = 0 1 2 3 4 5 11. Операторы отношения и логические операторы. Данные операторы выполняют поэлементное сравнение векторов или матриц одинакового размера и возвращают значение 1 (True), если элементы идентичны, и значение 0 (False) в противном случае. Если операнды — действительные числа, то применение операторов отношения тривиально:» 2==2.ans =1. »А=[1 2 3];»В=[1 0 0];» and(A.B) ans =1 0 0 » оr(А.В)ans =1 1 1;» А&В ans =1 0 0; Оператор разветвления if. Условный оператор if в MATLAB записывается в общем виде так: if Логическое условие Оператор 1 elseif Логическое условие Оператор 2 else Оператор 3 end; Эта конструкция имеет несколько частных вариантов: if Логическое условие Оператор 1 end; if Логическое условие Оператор 1 else Оператор 2 end; Логическое условие записывается в виде: Выражение 1 Оператор отношения Выражение 2 В качестве операторов отношения используются операторы: = =, <, >,< =, > =,∼ =. Если логическое условие принимает значение 1(true –истина), то выполняются соответствующие операторы. Если логическое условие принимает значение 0(false – ложь), то операторы, следующие за логическим условием, не выполняются. Оператор end указывает на конец условного оператора if. В понятие Оператор 1 входят один или несколько операторов. В последнем случае они разделяются символами,(запятой) или;(точкой с запятой). Как и в других алгоритмических языках, оператор if позволяет осуществить разветвление процесса вычислений в зависимости от какого-либо условия. Пример пусть требуется проверить попадание переменной x в диапазон от 0 до 2. function my_if x = 1; if x >= 0 & x <= 2 disp('x принадлежит диапазону от 0 до 2'); else disp('x не принадлежит диапазону от 0 до 2'); end 12. Следующий оператор for … end и спользуется для организации цикла с фиксированным числом повторений. Он имеет вид: for var = Выражение Операторы end;Здесь var – счетчик цикла – любая переменная, обычно это i, j, k, l, m и т. д. Выражение записывается в виде s: d: e, где s – начальное значение счетчика цикла var, d – шаг изменения и е – конечное значение var. Возможна и запись в виде s: e, тогда d = 1. Список операторов завершается ключевым словом end. >> for i = 1: 3 for j = 1: 3 a (i, j) = i ∗ j; end; end; В результате выполнения этого цикла формируется матрица а >> a a = 1 2 3 2 4 6 3 6 9 13. Оператор цикла while. Циклы типа while … end выполняются до тех пор, пока выполняется заданное условие. Оператор записывается в виде: while Логическое условие Операторы end; Приведем пример работы цикла while для подсчета суммы ряда : function sum_i S = 0; % начальное значение суммы i=1; % счетчик суммы while i <= 20 % цикл (работает пока i <= 20) S=S+i; % подсчитывается сумма i=i+1; % увеличивается счетчик на 1 end % конец цикла disp(S); % отображение суммы 210 на экране
|