Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Редактирование командной строки.



Различные стрелки и управляющие клавиши клавиатуры позволяют вызывать, редактировать и многократно использовать команды, набранные ранее. Например, на ввод ошибочного оператора

rho = (1 + sqt(5))/2

MATLAB выдает предупреждение

 

Undefined function or variable 'sqt' –

 

неопределенная функция или переменная ‘sqt’. Ошибка в написании имени функции, вычисляющей квадратный корень – sqrt. Вместо повторного набора строки следует просто нажать клавишу ­. В командной строке появится предыдущая команда с ошибкой. Исправить ошибку можно с помощью клавиш перемещения курсора и ®. Повторное нажатие клавиши ­ вызовет предыдущие строки, а нажатие клавиши ¯ – последующие строки. Наберите несколько символов, и тогда клавиша ­ найдет предыдущую строку, которая начинается с них.

Если набрать несколько первых символов имени переменной, функции, файла или графического указателя и нажать клавишу Tab, то MATLAB проведет поиск по набранному фрагменту и выполнит подстановку полного имени, если оно единственное.

В противном случае, надо еще раз нажать Tab ипросмотреть полный список имен, начинающихся с данного фрагмента текста.

Для редактирования командной строки можно использовать также следующие клавиши:

  • Home – переход на начало строки;
  • End – переход на конец строки;
  • Esc – очистка строки;
  • Delete – удаление символа за курсором;

· Backspace – удаление символа перед курсором.

 

При работе с командным окном можно использовать операции правки из меню Edit:

Cut – вырезать, Copy – копировать, Paste – вставить, Undo - отменить ввод, и Redo – повторить ввод.

Для очистки командного окна можно использовать команду clc.

 

Длинные командные строки.

 

Длинные выражения удобно разбивать на отдельные строки, используя троеточие и Enter:

S = 1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + …

1/8 + 1/9 + 1/10 + 1/11 + 1/12;

Пробелы между отдельными операндами добавлены для лучшего восприятия текста выражения и не влияют на конечный результат.

Если вы хотите сначала набрать ряд команд, занимающих много строк, и только потом их выполнить, следует каждую строку, кроме последней, оканчивать вводом Shift+Enter. Затем надо нажать Enter и выполнить все команды. Для ввода нескольких команд в одной строке в конце каждой команды следует ставить точку с запятой:

 

format short; x = (1: 10)'; logs = [x log10(x)].

Максимальное число символов в одной строке не должно превышать 4096.

 

Управление выводом данных на экран.

Если вы наберете в командной строке выражение и нажмете клавишу Enter, MATLAB выдаст результат на экран. Для отмены вывода данных на экран в конце выражения следует ставить точку с запятой (как в языке Паскаль). Это требуется, например, при создании больших матриц:

A = magic(100);

Большой объем выводимых в командное окно данных можно просмотреть, если предварительно задать режим постраничного вывода командой more on. После вывода первой страницы данных, переход к последующим страницам происходит при нажатии клавиши Space Bar (пробел), переход к следующей строке – при нажатии Enter, отмена вывода – при нажатии клавиши q. Отмена постраничного вывода происходит по команде more off (данный режим используется по умолчанию).

 

Вывод на печать командного окна.

Содержание всего командного окна можно распечатать по команде Print из меню File. Для распечатки отдельного текста, его надо выделить и выполнить команду Print Selection.

Запуск внешних программ.

Вызов внешних приложений из командной строки можно выполнять, используя в качестве префикса перед именем программы знак восклицания. Например, системная программа «Блокнот» вызывается по команде

! notepad

После завершения работы внешней программы операционная система передает контроль MATLAB.

 

Команда format.

Команда format управляет форматом вывода на экран численных значений. Все операции MATLAB проводит с удвоенной точностью и команда format не влияет на вычисления.

Ниже представлены различные форматы представления встроенного числа p.

format short; pi

ans = 3.1416

format short e; pi

ans = 3.1416+000

format short g; pi

ans = 3.1416+000

format long; pi

ans = 3.14159265358979

format long e; pi

ans = 3.14159265358979+000

format long g; pi

ans = 3.14159265358979+000

format hex; pi

ans = 400921fb54442d18

format rat; pi

ans = 355/113

Если вводимое выражение не присваивается переменной MATLAB, то для него автоматически генерируется переменная ans ( ответ ). Значение текущего формата можно узнать по команде get(0, ’ Format ).

 

ВЫРАЖЕНИЯ

Как и другие языки программирования, MATLAB предоставляет возможность использования математических выражений, причем эти выражения могут включать матрицы. Основные составляющие выражения:

· переменные;

· числа;

· операторы;

· функции.

 

Переменные.

MATLAB не требует описания типа переменных или размерности. Когда MATLAB встречает новое имя переменной, он автоматически создает переменную и отводит соответствующий объем памяти. Если переменная уже существует, MATLAB изменяет ее значение, а при необходимости и ее тип. Имена переменных состоят из букв, цифр или символов подчеркивания. Первым символом в имени должна быть буква. Число символов в имени не более 31. MATLAB различает заглавные и строчные буквы, поэтому Abc и аbc – это разные переменные. Чтобы увидеть значение переменной, надо просто ввести ее имя и нажать Enter. В памяти компьютера переменные занимают определенное место, называемое рабочим пространством (workspace). Для уничтожения всех переменных в рабочем пространстве используется команда clear без аргументов. В качестве аргументов указываются имена переменных, которые надо удалить. Например, команда clear аbc, а уничтожает переменные аbc и а.

Ряд переменных генерируется системой при ее загрузке. Такие переменные принято называть системными. Приведем список основных системных переменных:

 

pi 3.14159265...

i корень из -1

j аналогично i

eps относительнаяточность числа с плавающей точкой, 2-52

realmin наименьшеечислос плавающей точкой, 2-1022

realmax наибольшеечислос плавающей точкой, (2-e)1023

Inf бесконечность

NaN не число

 

Бесконечность появляется при делении на нуль или при выполнении математического выражения, приводящего к переполнению, т.е. к превышению realmax. Не число – NaN генерируется при вычислении выражений типа 0/0, или Inf – Inf, которые не имеют определенного математического смысла.

Имена функций не являются зарезервированными, поэтому можно изменять их значения, например,

eps = 1.e-6

 

Далее можно использовать это значение в последующих вычислениях. Начальное значение системной переменной может быть восстановлено командой clear:

Clear eps.

 

Числа.

MATLAB использует десятичную систему счисления с необязательной десятичной точкой

и знаками плюс-минус. Формат с плавающей точкой использует букву e для определения множителя степени десяти. Мнимые числа используют i или j как суффикс. Функция real(z) возвращает действительную часть комплексного числа z , а функция imag(z) – мнимую. Для получения модуля комплексного числа используется функция abs(z), а для вычисления фазы – angle(z). Примеры правильной записи чисел:

 

3 -99 0.0001

E-20 6.02252e23

I -3.14159j 3e5i

Все числа для хранения используют формат long, определенный стандартом плавающей точки IEEE. Числа с плавающей точкой обладают ограниченной точностью – приблизительно 16 значащих цифр и ограниченным диапазоном – приблизительно от

10-308 до 10+308 .

 

Операторы.

Выражения используют обычные арифметические операции и правила старшинства.

+ сложение

– вычитание

* умножение

/ деление

\ левое деление

^ степень

‘ комплексно-сопряженное транспонирование

() определение порядка вычисления

Полный список операторов можно получить, используя команду help ops.

Следует отметить, что многие операторы умеют работать с векторами и матрицами, т.е. являются матричными. Рассмотрим пример с экспонентой.

v=[1 2 3]; exp(v)

ans =

2.7183 7.3891 20.0855

 

Функции.

MATLAB предоставляет большое количество элементарных математических функций, таких как abs, sqrt, exp, sin и др. Вычисление квадратного корня или логарифма отрицательного числа не является ошибкой: в этом случае результатом является соответствующее комплексное число. MATLAB также предоставляет и более сложные

Функции, включая Гамма-функцию и функции Бесселя. Большинство из этих функций

имеют комплексные аргументы. Для вывода списка всех элементарных математических функций следует выполнить команду help elfun. Перечень более сложных математических и матричных функций можно получить по командам help specfun

и help elmat соответственно. Некоторые функции, такие как sqrt и sin, являются встроенными. Они являются частью MATLAB и очень эффективны, но код их реализации недоступен. Другие функции, такие как gamma и sinh, реализованы в М-файлах. Поэтому можно легко просмотреть их код и, при необходимости, модифицировать его.

Приведем несколько примеров использования выражений в MATLAB вместе с результатами выполнения:

 

rho = (1+sqrt(5))/2

rho =

1.6180

a = abs(3+4i)

a =

z = sqrt(besselk(4/3, rho-i))

z =

0.3730+ 0.3214i

huge = exp(log(realmax))

huge =

1.7977e+308

toobig = pi*huge

toobig =

Inf


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 430; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.049 с.)
Главная | Случайная страница | Обратная связь