Progress-servis55.ru

Новости из мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Формат вывода 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.

TypeResultExample
shortScaled fixed point format, with 5 digits3.1416
longScaled fixed point format, with 15 digits for double; 7 digits for single.3.14159265358979
short eFloating point format, with 5 digits.3.1416e+000
long eFloating point format, with 15 digits for double; 7 digits for single.3.141592653589793e+000
short gBest of fixed or floating point, with 5 digits.3.1416
long gBest of fixed or floating point, with 15 digits for double; 7 digits for single.3.14159265358979
short engEngineering format that has at least 5 digits and a power that is a multiple of three3.1416e+000
long engEngineering format that has exactly 16 significant digits and a power that is a multiple of three3.14159265358979e+000

Use these format types to switch between different output display formats for all numeric variables.

Value for typeResultExample
++, -, blank+
bankFixed dollars and cents3.14
hexHexadecimal (hexadecimal representation of a binary double-precision number)400921fb54442d18
ratRatio of small integers355/113

Use these format types to used to affect the spacing in the display of all variables.

Value for typeResultExample
compactSuppresses excess line feeds to show more output in a single screen. Contrast with loose .theta = pi/2
theta=
1.5708
looseAdds linefeeds to make output more readable. Contrast with compact .theta = pi/2

theta=

1.5708

Computations on floating-point variables, namely single or double , are done in appropriate floating-point precision, no matter how those variables are displayed. Computations on integer variables are done natively in integer.

MATLAB always displays integer variables to the appropriate number of digits for the class. For example, MATLAB uses three digits to display numbers of type int8 (i.e., -128:127). Setting format to short or long does not affect the display of integer variables.

The specified format applies only to the current MATLAB session. To maintain a format across sessions, use MATLAB preferences.

To see which type is currently in use, type

To see if compact or loose formatting is currently selected, type

Change the format to long by typing

View the result for the value of pi by typing

View the current format by typing

Set the format to short e by typing

or use the function form of the syntax

When the format is set to short , both pi and single(pi) display as 5-digit values:

Now set format to long , and pi displays a 15-digit value while single(pi) display an 8-digit value:

Set the format to its default, and display the maximum values for integers and real numbers in MATLAB:

Now change the format to hexadecimal, and display these same values:

The hexadecimal display corresponds to the internal representation of the value. It is not the same as the hexadecimal notation in the C programming language.

This example illustrates the short eng and long eng formats. The value assigned to variable A increases by a multiple of 10 each time through the for loop.

The values displayed for A are shown here. The power of 10 is always a multiple of 3. The value itself is expressed in 5 or more digits for the short eng format, and in exactly 15 digits for long eng :

If the largest element of a matrix is larger than 10 3 or smaller than 10 -3 , MATLAB applies a common scale factor for the short and long formats. The function format + displays +, -, and blank characters for positive, negative, and zero elements. format hex displays the hexadecimal representation of a binary double-precision number. format rat uses a continued fraction algorithm to approximate floating-point values by ratios of small integers. See rat.m for the complete code.

format

Set Command Window output display format

Syntax

Description

format style changes the output display format in the Command Window to the format specified by style .

format , by itself, resets the output format to the default, which is the short, fixed-decimal format for floating-point notation and loose line spacing for all output lines.

Numeric formats affect only how numbers appear in Command Window output, not how MATLAB ® computes or saves them.

Examples

Long Format

Set the output format to the long fixed-decimal format and display the value of pi .

Reset Format to Default

Set the output format to the short engineering format with compact line spacing, and then reset the format to the default.

Hexadecimal Format

Display the maximum values for integers and real numbers in hexadecimal format.

Short and Long Engineering Notation

Display the difference between shortEng and longEng formats.

Set the output format to shortEng .

Create a variable and increase its value by a multiple of 10 each time through a for loop.

The values display with 4 digits after the decimal point and an exponent that is a multiple of 3.

Set the output format to the long engineering format and view the same values.

The values display with 15 digits and an exponent that is a multiple of 3.

Large Data Range Format

Use the shortG format when some of the values in an array are short numbers and some have large exponents. The shortG format picks whichever short fixed-decimal format or short scientific notation has the most compact display.

Create a variable and display output in the short format, which is the default.

Set the format to shortG and redisplay the values.

Get Current Format

Get the current numeric format.

Get the current line spacing, which can be set to loose or compact .

Input Arguments

style — Output display format
short (default) | long | shortE | longE | .

Output display format, specified as one of these options.

Numeric Format

These styles control the output display format for numeric variables.

Short, fixed-decimal format with 4 digits after the decimal point.

Long, fixed-decimal format with 15 digits after the decimal point for double values, and 7 digits after the decimal point for single values.

Short scientific notation with 4 digits after the decimal point.

Long scientific notation with 15 digits after the decimal point for double values, and 7 digits after the decimal point for single values.

Short, fixed-decimal format or scientific notation, whichever is more compact, with a total of 5 digits.

Long, fixed-decimal format or scientific notation, whichever is more compact, with a total of 15 digits for double values, and 7 digits for single values.

Short engineering notation (exponent is a multiple of 3) with 4 digits after the decimal point.

Long engineering notation (exponent is a multiple of 3) with 15 significant digits.

Positive/Negative format with + , — , and blank characters displayed for positive, negative, and zero elements.

Currency format with 2 digits after the decimal point.

Hexadecimal representation of a binary double-precision number.

Ratio of small integers.

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 = pi/2
theta =
1.5708

Add blank lines to make output more readable.

theta = pi/2

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; Нарушение авторского права страницы

Читать еще:  Ошибка 198 play market
Ссылка на основную публикацию
Adblock
detector
×
×