Формат вывода matlab
Формат вывода matlab
Set display format for output
As an alternative to format , use preferences. Select Preferences from the File menu in the MATLAB desktop and use Command Window preferences.
Use the format function to control the output format of numeric values displayed in the Command Window.
Note The format function affects only how numbers are displayed, not how MATLAB computes or saves them. |
format by itself, changes the output format to the default appropriate for the class of the variable currently being used. For floating-point variables, for example, the default is format short (i.e., 5-digit scaled, fixed-point values).
format type changes the format to the specified type . The tables shown below list the allowable values for type .
format(‘ type’) is the function form of the syntax.
The tables below show the allowable values for type , and provides an example for each type using pi .
Use these format types to switch between different output display formats for floating-point variables.
Type | Result | Example |
short | Scaled fixed point format, with 5 digits | 3.1416 |
long | Scaled fixed point format, with 15 digits for double; 7 digits for single. | 3.14159265358979 |
short e | Floating point format, with 5 digits. | 3.1416e+000 |
long e | Floating point format, with 15 digits for double; 7 digits for single. | 3.141592653589793e+000 |
short g | Best of fixed or floating point, with 5 digits. | 3.1416 |
long g | Best of fixed or floating point, with 15 digits for double; 7 digits for single. | 3.14159265358979 |
short eng | Engineering format that has at least 5 digits and a power that is a multiple of three | 3.1416e+000 |
long eng | Engineering format that has exactly 16 significant digits and a power that is a multiple of three | 3.14159265358979e+000 |
Value for type | Result | Example |
+ | +, -, blank | + |
bank | Fixed dollars and cents | 3.14 |
hex | Hexadecimal (hexadecimal representation of a binary double-precision number) | 400921fb54442d18 |
rat | Ratio of small integers | 355/113 |
Value for type | Result | Example |
compact | Suppresses excess line feeds to show more output in a single screen. Contrast with loose . | theta = pi/2 theta= 1.5708 |
loose | Adds linefeeds to make output more readable. Contrast with compact . | theta = pi/2 theta= 1.5708 |
3.1416 |
3.141592653589793 |
3.1416e+00 |
3.141592653589793e+00 |
3.1416 |
3.14159265358979 |
3.1416e+000 |
3.14159265358979e+000 |
400921fb54442d18 |
355/113 |
Line Spacing Format
Suppress excess blank lines to show more output on a single screen.
theta =
1.5708
Add blank lines to make output more readable.
1.5708
The specified format applies only to the current MATLAB session. To maintain a format across sessions, choose a Numeric format or Numeric display option in the Command Window Preferences.
You can insert a space between short or long and the presentation type, for instance, format short E .
MATLAB always displays integer data types to the appropriate number of digits for the data type. For example, MATLAB uses 3 digits to display int8 data types (for instance, -128:127). Setting the output format to short or long does not affect the display of integer-type variables.
Integer-valued, floating-point numbers with a maximum of 9 digits do not display in scientific notation.
If you are displaying a matrix with a w >shortG . See Large Data Range Format.
Урок 1 — Программирование Матлаб(Matlab). Основы
Пакет MatLab был создан компанией Math Works более десяти лет назад. Работа сотен ученых и программистов направлена на постоянное расширение его возможностей и совершенствование заложенных алгоритмов. В настоящее время MatLab является мощным и универсальным средством решения задач, возникающих в различных областях человеческой деятельности.
Рабочая среда MatLab 6.x,MatLab 7 имеет удобный интерфейс для доступа ко многим вспомогательным элементам MatLab.
При запуске MatLab 6.x на экране появляется рабочая среда, изображенная на рис. 1.
Рис. 1. Рабочая среда пакета MatLab 6.x
Данный урок изучает основы работы (введение) в matlab.
Рабочая среда содержит следующие элементы:
— меню;
— панель инструментов с кнопками и раскрывающимся списком;
— окно с вкладками Launch Pad и Workspace, из которого можно получить простой доступ к различным модулям ТооlBох и к содержимому рабочей среды;
— окно с вкладками Command History и Current Directory, предназначенное для просмотра и повторного вызова ранее введенных команд, а также для установки текущего каталога;
— командное окно Command Window с командной строкой, в которой находится мигающий курсор;
— строку состояния.
Все команды, описанные в этой лабораторной работе, следует набирать в командной строке. Сам символ », обозначающий приглашение командной строки, приведенный в примерах, набирать не нужно. Для просмотра рабочей области удобно использовать полосы скроллинга или клавиши , для перемещения влево или вправо и
для перемещения вверх или вниз. Про использование клавиш , , , будет сказано дополнительно. Если вдруг после перемещения по рабочей области командного окна пропала командная строка с мигающим курсором, просто нажмите .
Важно запомнить, что набор любой команды или выражения должен заканчиваться нажатием на клавишу для того, чтобы программа MatLab выполнила эту команду или вычислила выражение.
Если в рабочей среде MatLab 6.x отсутствуют некоторые описанные окна, то следует в меню View выбрать соответствующие пункты: Command Window, Command History, Current Directory, Workspace, Launch Pad.
2.1. Арифметические вычисления
Встроенные математические функции MatLab позволяют находить значения различных выражений. MatLab предоставляет возможность управления форматом вывода результата. Команды для вычисления выражений имеют вид, свойственный всем языкам программирования высокого уровня.
2.1.1. Простейшие вычисления
Наберите в командной строке 1+2 и нажмите . В результате в командном окне MatLab отображается следующее:
Что сделала программа MatLab? Сначала она вычислила сумму 1+2, затем записала результат в специальную переменную ans и вывела ее значение, равное 3, в командное окно. Ниже ответа расположена командная строка с мигающим курсором, обозначающая, что MatLab готова к дальнейшим вычислениям. Можно набирать в командной строке новые выражения и находить их значения.
Если требуется продолжить работу с предыдущим выражением, например, вычислить (1+2)/4.5, то проще всего воспользоваться уже имеющимся результатом, который хранится в переменной ans. Наберите в командной строке ans/4.5 (при вводе десятичных дробей используется точка) и нажмите , получается:
Вид, в котором выводится результаты вычислений, зависит от формата вывода, установленного в MatLab. Далее объяснено, как задать основные форматы вывода.
2.1.2. Форматы вывода результата вычислений
Требуемый формат вывода результата определяется пользователем из меню MatLab. Выберите в меню File пункт Preferences. На экране появится диалоговое окно Preferences. Для установки формата вывода следует убедиться, что в списке левой панели выбран пункт Command Window. Задание формата производится из раскрывающегося списка Numeric format панели Text display.
Разберем пока только наиболее часто используемые форматы. Выберите short в раскрывающемся списке Numeric format в MatLab 6.x. Закройте диалоговое окно, нажав кнопку ОК. Сейчас установлен короткий формат с плавающей точкой short для вывода результатов вычислений, при котором на экране отображаются только четыре цифры после десятичной точки. Наберите в командной строке 100/3 и нажмите .
Результат выводится в формате short:
Этот формат вывода сохранится для всех последующих вычислений, если только не будет установлен другой формат. Заметьте, что в MatLab возможна ситуация, когда при отображении слишком большого или малого числа результат не укладывается в формат short. Вычислите 100000/3, результат выводится в экспоненциальной форме:
» 100000/3
ans =
З.ЗЗЗЗе+004
То же самое произойдет и при нахождении 1/3000:
» 1/3000
ans =
З.ЗЗЗЗе-004
Однако, первоначальная установка формата сохраняется и при дальнейших вычислениях, для небольших чисел вывод результата снова будет происходить в формате short.
В предыдущем примере пакет MatLab вывел результат вычислений в экспоненциальной форме. Запись 3.3333е-004 обозначает 3.3333*10-4 или 0.00033333. Аналогично можно набирать числа в выражениях. Например, проще набрать 10е9 или l.0e10, чем 1000000000, а результат будет тот же самый. Пробел между цифрами и символом е при вводе не допускается, т.к. это приведет к сообщению об ошибке:
» 10 е9
. 10 е9
Missing operator, comma, or semi-colon.
Если требуется получить результат вычислений более точно, то следует выбрать в раскрывающемся списке long. Результат будет отображаться в длинном формате с плавающей точкой long с четырнадцатью цифрами после десятичной точки. Форматы short e и long e предназначены для вывода результата в экспоненциальной форме с четырьмя и пятнадцатью цифрами после десятичной точки соответственно. Информацию о форматах можно получить, набрав в командной строке команду help с аргументом format:
В командном окне появляется описание каждого из форматов.
Задавать формат вывода можно непосредственно из командной строки при помощи команды format. Например, для установки длинного с плавающей точкой формата вывода результатов вычислений следует ввести команду format long e в командной строке:
» format long e
» 1.25/3.11
ans =
4.019292604501608е-001
Обратите внимание, что команда help format выводит на экран название форматов прописными буквами. Однако команда, которую надо ввести, состоит из строчных букв. К этой особенности встроенной справки help надо привыкнуть. MatLab различает прописные и строчные буквы. Попытка набора команды прописными буквами приведет к ошибке:
» FORMAT LONG E
. FORMAT LONG.
|
Missing operator, comma, or semi-colon.
Для более удобного восприятия результата MatLab выводит результат вычислений через строку после вычисляемого выражения. Однако иногда бывает удобно разместить больше строк на экране, для чего следует выбрать переключатель compact (File, Numeric display) из раскрывающегося списка. Добавление пустых строк обеспечивается выбором loose из раскрывающегося списка Numeric display.
Все промежуточные вычисления MatLab производит с двойной точностью, независимо от того, какой формат вывода установлен.
2.2. Использование элементарных функций
Предположим, что требуется вычислить значение следующего выражения:
.
Введите в командной строке это выражение в соответствии с правилами MatLab и нажмите :
Ответ выводится в командное окно:
При вводе выражения использованы встроенные функции MatLab для вычисления экспоненты, натурального логарифма, квадратного корня и тригонометрических функций. Какие встроенные элементарные функции можно использовать и как их вызывать? Наберите в командной строке команду help eifun, при этом в командное окно выводится список всех встроенных элементарных функций с их кратким описанием. Аргументы функций заключаются в круглые скобки, имена функций набираются строчными буквами. Для ввода числа л достаточно набрать pi в командной строке.
Арифметические операции в MatLab выполняются в обычном порядке, свойственном большинству языков программирования:
— возведение в степень ^;
— умножение и деление *, /;
— сложение и вычитание +, -.
Для изменения порядка выполнения арифметических операторов следует использовать круглые скобки.
Если теперь требуется вычислить значение выражения, похожего на предыдущее, например
то необязательно его снова набирать в командной строке. Можно воспользоваться тем, что MatLab запоминает все вводимые команды. Для повторного занесения их в командную строку служат клавиши , . Вычислите данное выражение, проделав следующие шаги.
1. Нажмите клавишу , при этом в командной строке появится введенное ранее выражение.
2. Внесите в него необходимые изменения, заменив знак минус на плюс и квадратный корень на возведение в квадрат (для перемещения по строке с выражением служат клавиши , , , ).
3. Вычислите измененное выражение, нажав .
»ехр(-2.5)*log(11.3)^0.3+((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))^2
ans =
121.2446
Если необходимо получить более точный результат, то следует выполнить команду format long e, затем нажимать клавишу до тех пор, пока в командной строке не появится требуемое выражения, и вычислить его, нажав .
» format long e
» exp(-2.5)*log(11.3)^0.3+((sin.(2.45*pi)+cos(3.78*pi))/tan(3.3))^2
ans =
1.212446016556763e+002
Вывести результат последнего найденного выражения в другом формате можно без повторного вычисления. Следует изменить формат командой short, а затем посмотреть значение переменной ans, набрав ее в командной строке и нажав :
» format short
» ans
ans =
121.2446
В рабочей среде MatLab 6.x для вызова ранее введенных команд имеется удобное средство — окно Command History с историей команд. История команд содержит время и дату каждого сеанса работы с MatLab 6.x. Для активизации окна Command History необходимо выбрать вкладку с одноименным названием. Текущая команда в окне изображена на синем фоне. Если щелкнуть на какой-либо команде в окне левой кнопкой мыши, то данная команда становится текущей. Для ее выполнения в MatLab надо применить двойной щелчок мыши или выбрать строку с командой при помощи клавиш , и нажать клавишу . Лишнюю команду можно убрать из окна. Для этого ее надо сделать текущей и удалить при помощи клавиши . Можно выделить несколько идущих подряд команд при помощи комбинации клавиш + , + и выполнить их при помощи или удалить клавишей . Выделение последовательно идущих команд можно производить левой кнопкой мыши с одновременным удерживанием клавиши . Если команды не идут одна за другой, то для их выделения следует использовать левую кнопку мыши с удерживанием клавиши .
При щелчке правой кнопкой мыши по области окна Command History появляется всплывающее меню. Выбор пункта Сору приводит к копированию команды в буфер Windows. При помощи Evaluate Selection можно выполнить отмеченную группу команд. Для удаления текущей команды предназначен пункт Delete Selection. Для удаления всех команд до текущей — Delete to Selection, для удаления всех команд — Delete Entire History.
При вычислениях возможны некоторые исключительные ситуации, например деление на ноль, которые в большинстве языков программирования приводят к ошибке. При делении положительного числа на ноль в MatLab получается inf (бесконечность), а при делении отрицательного числа на ноль получается -inf (минус бесконечность) и выдается предупреждение:
» 1/0
Warning: Divide by zero.
ans =
Inf
При делении нуля на нуль получается NaN (не число) и также выдается предупреждение:
» 0/0
Warning: Divide by zero.
ans =
NaN
При вычислении, например sqrt(-1), никакой ошибки или предупреждения не возникает. MatLab автоматически переходит в область комплексных чисел:
»sqrt(-1.0)
ans =
0 + l.0000i
Как узнать, какие встроенные элементарные функции можно использовать и как их вызывать? Наберите в командной строке команду help eifun, при этом в командное окно выводится список всех встроенных элементарных функций с их кратким описанием.
Форматы вывода результата вычислений.
Встроенные математические функции MATLAB позволяют находить значения различных выражений. MATLAB предоставляет возможность управления форматом вывода результата. Вид, в котором выводится результаты вычислений, зависит от формата вывода, установленного в MATLAB. Далее объяснено, как задать основные форматы вывода.
Числовые данные, с которыми мы пока будем оперировать в MATLAB, в памяти компьютера представлены вещественными переменными класса double. Это означает, что каждое вещественное число занимает 8 байтов в оперативной памяти и принимает по модулю значения из диапазона . Количество значащих цифр при этом достигает 16 — 17. Именно с такой точностью MATLAB выполняет все вычисления. Однако при отображении всех результатов на экране часть значащих цифр отбрасывается в соответствии с установленным форматом вывода. Отображаемые значения округляются по общепринятым в математике правилам.
В таблице 2 представлены основные форматы вывода числовых данных с фиксированной (первый столбец) и плавающей (второй столбец) запятой. Формат rational (третий столбец) позволяет отображать числовые значения в виде подходящих рациональных дробей с минимально возможными числителями и знаменателями. При этом значение переменной x, хранящееся в памяти компьютера, не зависит от установленного формата вывода.
Таблица 2. | |||
Формат | Описание | Пример | |
short | Короткое число с фиксированной точкой. 4 разряда отводится под вывод дробной части. При необходимости производится округление до четвертого знака. | 0.6667 10.6667 100.0201 | (2/3) (32/3) (100.02005) |
>> format short >> x=sqrt(2) x= 1.4142 | |||
long | Длинное число с фиксированной точкой. 15 разрядов отводится под выводов дробной части. При необходимости производится округление. | 1.001002003004001 (1.0010020030040005) >> format long >> x=sqrt(2) x = 1.414213562373095 | |
short e | Короткое число с плавающей точкой. Представляется с помощью пяти разрядов,4 из которых отводится под вывод дробной части. При этом e+001 равносильно умножению числа на 10 или 10 1 -порядок целой части числа –десятки, e+002 равносильно умножению числа на 100 или 10 2 — порядок целой части числа сотни, e-001 равносильно делению числа на 10 или умножению на 10 -1 — порядок сила – десятые доли, e-002 равносильно делению числа на 100 или умножению на 10 -2 — сотые доли. | 6.6667e-001 1.2346e+000 1.0667e+001 1.0002e+002 | (2/3) (1.23456) (32/3) (100.02005) |
>> format short e >> x=sqrt(2) x = 1.4142e+000 | |||
long e | Длинное число с фиксированной точкой. Представляется с помощью 17 разрядов,16 из которых отводится под вывод дробной части. | 1.123456789012346e+018 (1123456789012345678) 1.123456789012346e+024 (1123456789012345678901234) >> format long e >> x=sqrt(2) x = 1.414213562373095e+000 | |
short g | Выбирается наилучшая форма представления числа из форматов short и shot e. | 5.4321e-006 (0.0000054321) | |
long g | Выбирается наилучшая форма представления числа из форматов long и long e. | 5.4321e-006 (0.0000054321) 6.7890123456789e-006 (0.0000067890123456789) | |
rational | Позволяет отображать числовые значения в виде подходящих рациональных дробей с минимально возможными числителями и знаменателями | >> format rational >> x=sqrt(2) x = 1393/985 >> 0.666666667 ans = 2/3 |
По умолчанию система использует формат short (укороченный).
Замечание. Все промежуточные вычисления МАТЛАБ производит с двойной точностью double, независимо от того, какой формат вывода установлен.
Упражнение 2. Форматы вывода результата вычислений.
1) сложите два числа 1/2 и 2/3 и определите формат полученного ответа;
2) перейдите в формат format rational(Можно кратко в format rat)
и сложите числа 1/2 и 2/3, а также числа 0.3 и 0.6,
затем все тоже проделайте в форматах shortE, longE;
3) выберите в меню File → Preferences → Command Window
в открывшемся окне Command Window Preferences
в разделе Text display выберите заголовок Numeric format
и измените формат вывода данных на rational
и снова сложите числа 1/2 и 2/3, а также числа 0.3 и 0.6
затем снова через Preferences переведите вывод данных в формат short.
Символьные переменные. Работа с алгебраическими выражениями.
(переменные записываются через пробел) позволяет работать с символьными переменными как с числами, то есть мы можем работать с алгебраическими выражениями:
Пример. Работа с алгебраическими выражениями, с символьными переменными.
. Undefined function or variable ‘x’.
МАТЛАБ выдал сообщение об ошибке.
МАТЛАБ вывел алгебраическое выражение.
Посмотрите в help команды-simplifications (упрощения): как делать различные преобразования в алгебраических выражениях. Введите
Ответьте в отчете на вопрос, что сделала команда «collect» с выражением f ?
Пример. Работа с алгебраическими выражениями. Подстановка чисел.
Теперь присвоим x какое-нибудь число:
снова вызовем f
ничего не изменилось, но если набрать заново алгебраическое выражение
f=(x+1)*(x-1) ( можно просто выбрать данную команду при помощи стрелок)
Мы получим значение функции f=3, при x = 2.
Пример. Упрощение алгебраических выражений.
При помощи различных команд simplifications (упрощения) записать различные формулы сокращенного умножения: разность квадратов; квадрат суммы, разности; куб суммы, разности; разность кубов, сумма кубов.
В качестве символьных переменных можно выбрать не только буквы, но и числа. Например, если нужно раскрыть скобки в выражении , то ввод
вычисляет значение выражения .
Теперь мы раскрыли скобки и привели подобные слагаемые и получили ответ в радикалах: .
А для того чтобы узнать его примерное значение введем
Посмотрите через help функцию sym.
Команда sym позволяет вводить ограничения на свойства переменных:
Решим уравнение: .
Уравнение имеет действительные и комплексные корни.
Теперь введем ограничение на переменную: x – вещественное (действительное) число.
Выведены только вещественные значения корней уравнения.
Массивы в MATLAB.
Последнее изменение этой страницы: 2016-04-26; Нарушение авторского права страницы
detector