Вход
В формуле приглашение представляет текстовую информацию, которая должна отображаться, например, a = input (‘пожалуйста, введите число \ n’), она будет отображаться в командной строке, введите число вручную (если вы вводите другие форматы, такие как Персонажи будут не правы). Это значит, что программа не будет продолжать работать, но дождитесь ввода номера и затем нажмите Enter, чтобы продолжить. Ввод текста такой же. Увидеть большеФункция ввода в MATLAB。
2. Другие входы
Входные данные также можно импортировать и считывать данные файла, MATLAB поддерживает различные форматы данных, наиболее распространенными являются, в основном, формат txt, формат xml и т. Д. Опять же, представлены только несколько функций, если вы хотите узнать больше, вы можете обратиться кИмпорт и анализ данных MATLABО функции импорта текстовых, табличных, графических и других файлов формата эта статья в основном представляет ввод и вывод формы вызова функции.
2.1 fscanf
Во-первых, формат файла, читаемый с использованием функции fscanf, представляет собой текстовый формат, и применяются три следующие формы:
A = fscanf( fileID , formatSpec ) Считать данные в открытом текстовом файле в вектор-столбец A Средний и в соответствии с formatSpec Указанный формат интерпретирует значения в файле. fscanf Функция повторно применяет формат ко всему файлу и размещает указатель файла в конце файла. если fscanf Невозможно изменить formatSpec Сопоставляя с данными, он только прочитает соответствующую часть и остановит обработку. fileID (идентификатор файла) можно получить, открыв файл с помощью fileID = fopen (‘x.txt’, ‘a’); formatSpec Частичный формат сегмента данных.
A = fscanf( fileID , formatSpec , sizeA ) Данные файла считываются в измерение sizeA Массив A , И поместите указатель файла после последнего прочитанного значения. fscanf Заполните в столбце порядок A 。 sizeA Должно быть положительным целым числом или использовать [m n] Форма которой m и n Это положительное целое число (это также может быть бесконечная положительная бесконечность, что означает чтение всех соответствующих строк / столбцов / полных блоков данных).
[ A , count ] = fscanf(___) Также вернется fscanf Читать в A Количество полей в. Для числовых данных это количество значений, которые были прочитаны. Вы можете использовать этот синтаксис в сочетании с любыми входными параметрами в предыдущем синтаксисе.
Тем не менее, я обычно не использую это.
2.2 load
Загрузка — самая распространенная функция чтения файлов в MATLAB. Основные формы:
Он может быть загружен напрямую, например data = load (‘D: /test.txt’) или data = load (‘D: /test.txt’, ‘x’), чтобы прочитать переменную x в test.txt, где x также можно заменить массивом ячеек с несколькими переменными, например, заменить x на var , где var = ; в дополнение к текстовым файлам txt это также может быть MATLAB Тип данных файла формата mat (будет напрямую выводиться в рабочую область), формат файла ascii, как показано в третьей формуле, создаст массив двойной точности, содержащий данные файла.
Данные, загружаемые методом загрузки, особенно распространены. Их можно увидеть во многих функциях расширения MATLAB. Формат загрузки также очень богат. Это может быть текстовый файл, файл базы данных или файл таблицы.
2.3 fopen
fopen — открыть файл, и его различные форматы подробно описаны в функции fprintf ниже. После открытия файла через fopen, вы можете использовать текстовый файл или функцию чтения строк testcan, чтобы прочитать файл, формат вызова следующий:
После открытия файла testscan попытается сопоставить данные в файле со спецификатором преобразования в formatSpec. Функция testscan повторно сканирует данные в соответствии с formatSpec во всем файле и останавливается до тех пор, пока formatSpec не сможет найти совпадающие данные.
Кроме того, вы также можете обратиться к следующему методу, чтобы обработать данные в массив ячеек, а затем преобразовать их в массив символов.
fileID = fopen(‘D:/test.txt’,’r’);
rowdata = textcan (fileID, ‘% s’, ‘DElimiter’, ‘\ n’);% получает каждую строку данных
fclose(fileID);
whos rowdata
rowdata
% rowdata , будет сообщено об ошибке, rowdata — это массив ячеек
a=rowdata
whos a
b1=a
whos b1
Что касается того, как обращаться с преобразованным массивом символов, это зависит от вас. Это относительно способа чтения сложных типов ввода. Для получения дополнительной информации, пожалуйста, обратитесь кtextscan, Вход по-прежнему основан на нагрузке.
Два выхода
Существует три основных формата вывода:
1. Прямой вывод в командную строку
MATLAB позволяет напрямую вводить имена переменных в сценариях (M-файлах) или командных строках для вывода.Этот метод относительно прост и удобен в применении и подходит для тестирования. Но общий вывод всегда выводится в соответствии с форматом системы по умолчанию. Если вы хотите настроить его, вам нужно изменить формат вывода командной строки через формат перед программой. См. Таблицу ниже для большего количества числовых форматов (их можно найти в документации MATLAB ~Подробный формат)
Эти стили управляют форматом вывода числовых переменных.
Исправлен короткий десятичный формат с 4 цифрами после запятой.
Длинный фиксированный десятичный формат, double Значение содержит 15 цифр после десятичной точки, single Значение содержит 7 цифр после десятичной точки.
Краткая научная запись, с 4 цифрами после десятичной точки.
Длинная научная запись, double Значение содержит 15 цифр после десятичной точки, single Значение содержит 7 цифр после десятичной точки.
Короткий фиксированный десятичный формат или научное обозначение (в зависимости от того, что является более компактным), всего 5 цифр.
Длинный фиксированный десятичный формат или научная запись (в зависимости от того, что является более компактным), для double Значение, всего 15 цифр, для single Значение, всего 7 цифр.
Краткое инженерное обозначение, с 4 цифрами после десятичной точки и показателем, кратным 3.
Длинная техническая запись, включающая 15 значащих цифр, показатель степени, кратный 3.
Положительный / отрицательный формат, показывающий положительные, отрицательные и нулевые элементы отдельно + 、 — И пустые символы.
Формат валюты, включая 2 цифры после запятой.
Шестнадцатеричное представление двоичного числа двойной точности.
Соотношение маленьких целых чисел.
Кроме того, вы также можете установить формат межстрочного интервала при выводе матрицы:
Скрыть слишком много пустых строк, чтобы показать больше вывода на одном экране.
Добавьте пустые строки, чтобы сделать вывод легче для чтения.
2 Вывод функции fprintf
Функция fprintf является одной из наиболее распространенных функций MATLAB (см.функция fprintf), Потому что он может установить выходной формат, более гибкий и всеобъемлющий. Наиболее распространенная форма: fprintf («% s — мальчик», boyname), где boyname представляет имя переменной, в которой хранится строка. Аналогично, эта форма может выводить десятичные числа (% d) и восьмеричные числа (% o) числа с плавающей запятой в записи с фиксированной запятой (% f) и числа с плавающей запятой в экспоненциальной записи (% e), одиночные символы (% c) и символьные строки (% s).
Если вам нужно контролировать длину вывода, вы можете добавить число после знака процента, например,% 8s. Выходная длина равна восьми (если фактическая длина строки превышает восемь, сама строка будет выведена и не будет усечена), оставьте по крайней мере 8 в командной строке Заполнителя недостаточно для заполнения пробелами, и% 4.8f выведет 4-значное целое число плюс десятичную точку плюс 8 десятичных цифр.
Выходной формат вышеупомянутого случая соответствует формату, выровненному по правому краю.Если вы хотите выровнять по левому краю, вы можете добавить знак минус после знака процента или перед форматом, например% -8s. Кроме того, мы также можем использовать некоторые специальные управляющие символы для поддержания красоты выходного формата, такие как \ t (горизонтальные) табуляции, \ n разрывы строк, \ v вертикальные табуляции.
Кроме того, функция fprintf также может выводить данные в файл и сохранять их, а также управлять ими в сценарии MATLAB. Случай формата следующий:
x = 0:.1:1; A = [x; exp(x)]; fileID = fopen('exp.txt','w'); fprintf(fileID,'%6s %12s\n','x','exp(x)'); fprintf(fileID,'%6.2f %12.8f\n',A); fclose(fileID);
Вам необходимо открыть файл (fopen) перед выводом и закрыть файл (fclose) после вывода, как показано выше. Среди них функция fopen — это имя файла и идентификатор. Существует 8 типов идентификаторов. Если вы хотите создать новый файл, это w. Если вы добавляете его в исходный файл, это a. Как правило, эти два типа используются.
Откройте файл для чтения.
Откройте или создайте новый файл для записи. Отменить существующий контент (если есть).
Откройте или создайте новый файл для записи. Добавить данные в конец файла.
Откройте файл для чтения и записи.
Откройте или создайте новый файл для чтения и записи. Отменить существующий контент (если есть).
Откройте или создайте новый файл для чтения и записи. Добавить данные в конец файла.
Откройте файл, чтобы добавить (но не обновлять автоматически) текущий буфер вывода.
Откройте файл, чтобы записать (но не обновлять автоматически) текущий буфер вывода.
fclose закрывает файл. FileID в скобках является идентификатором файла, то есть представляет открытый файл. Без особых обстоятельств этот оператор также можно заменить на fclose (‘all’), чтобы закрыть все файлы. Формат fprintf аналогичен предыдущему выводу в командной строке, но идентификатор файла fileID ~ добавляется спереди.
3.disp
Функция disp является прямым выводом, печатая значения переменных или печатаемые строки, значения disp (x) и disp (‘x’) различны, первый — вывод значения x, которое может быть строкой, целым числом, матрицей и т. Д. И последнее — напечатать строку x напрямую, и она будет перенесена сразу после печати. В отличие от функции fprintf, вам нужно ввести \ n для переноса. В то же время следует отметить, что если disp должен печатать строки и значения переменных в строке i, он не может быть записан непосредственно в такой форме: disp (‘a is’, a_value), так что будет слишком много входных параметров (и на языке C #) Подобные операции могут быть выполнены с использованием $), но могут быть записаны как класс для вывода в следующем виде:
name = 'Alice'; age = 12; X = [name,' will be ',num2str(age),' this year.']; disp(X)
Это выведет в одну строку: Алисе будет 12 в этом году.
Общие операции ввода и вывода здесь, и необходимо продолжить больше контента. Вообще говоря, этих входов и выходов достаточно
Документация
MATLAB ® отображает вывод и в Командном окне и в Live Editor. Формат вывода можно изменить при помощи нескольких настроек.
Интервал строки форматов в Выводе
По умолчанию, отображения MATLAB очищает линии в окне Command Window.
Можно выбрать одну из двух опций межстрочного интервала в MATLAB.
- loose — Сохраняет отображение пустых строк (значение по умолчанию).
>> x = [4/3 1.2345e-6] x = 1.3333 0.0000
>> x = [4/3 1.2345e-6] x = 1.3333 0.0000
Чтобы изменить опцию межстрочного интервала, выполнить одно из следующих действий:
- На вкладке «Главная страница (Home)» в разделе «Конфигурация (Environment)» нажмите «Настройки (Preferences)».Выберите MATLAB>Command Window, и затем выберите опцию Line spacing.
- Используйте format функция в командной строке, например:
format loose format compact
Примечание
Опции межстрочного интервала не применяются в Live Editor.
Числа с плавающей запятой формата
Можно изменить способ, которым числа отображаются и в Командном окне и в Live Editor. По умолчанию MATLAB использует формат short (5-разрядные масштабированные значения фиксированной точки).
Например, предположите, что вы вводите x = [4/3 1.2345e-6] в Командном окне. Отображение выхода MATLAB зависит от формата, который вы выбрали. Эта таблица показывает некоторые доступные форматы цифрового дисплея, и их соответствующий выход.
short (значение по умолчанию)
x = 1.3333e+00 1.2345e-06
x = 1.333333333333333 0.000001234500000
Примечание
Текстовый формат отображения влияет только, как числа показывают, не то, как MATLAB вычисляет или сохраняет их.
Чтобы отформатировать путь, числа отображаются, выполнить одно из следующих действий:

- На вкладке «Главная страница (Home)» в разделе «Конфигурация (Environment)» нажмите «Настройки (Preferences)».Выберите MATLAB>Command Window, и затем выберите опцию Numeric format.
- Используйте format функция, например:
format short format short e format long
Перенос строк кода, чтобы соответствовать ширине окна
Строка кода или ее вывод могут превысить ширину Командного окна, требуя, чтобы вы использовали горизонтальную полосу прокрутки, чтобы просмотреть целую строку. Чтобы разбить одну строку ввода или вывода на несколько строк, для соответствия текущей ширине Командного окна:

- На вкладке «Главная страница (Home)» в разделе «Конфигурация (Environment)» нажмите «Настройки (Preferences)».Выберите MATLAB>Command Window.
- Выберите Wrap Lines.
- Нажмите OK.
Примечание
Опции переноса линии не применяются в Live Editor.
Подавление Вывода
Чтобы подавить код выход, добавьте точку с запятой (;) в конец команды. Это полезно, когда код генерирует большие матрицы.
Выполнение следующего кода создает A , но не показывает получившуюся матрицу в Командном окне или Live Editor:
A = magic(100);
Просмотр постраничного вывода
Вывод в Командном окне может превысить видимый фрагмент окна. Можно просмотреть вывод, один экран за один раз:
- В Командном окне введите more on включить постраничный вывод.
- Введите команду, которая генерирует крупносерийное производство.
- Просмотрите вывод:
- Перейдите к следующей строке путем нажатия Enter.
- Перейдите к следующей странице путем нажатия Space Bar.
- Прекратите отображать вывод путем нажатия q.
Чтобы отключить постраничный вывод, введите more off .
Примечание
Опции постраничного вывода не применяются в Live Editor.
Очищение командного окна
Если Командное окно кажется нарушенным, можно очистить весь текст (не очищая рабочую область) путем выполнения одного из следующих действий:
- На вкладке Home, в разделе Code, выбирают Clear Commands>Command Window, чтобы очистить буфер прокрутки Командного окна.
- Используйте clc функционируйте, чтобы очистить буфер прокрутки Командного окна.
- Используйте home функционируйте, чтобы очистить ваше текущее представление Командного окна, не очищая буфер прокрутки.
Смотрите также
Документация MATLAB
Поддержка
- MATLAB Answers
- Помощь в установке
- Отчеты об ошибках
- Требования к продукту
- Загрузка программного обеспечения
© 1994-2021 The MathWorks, Inc.
- Условия использования
- Патенты
- Торговые марки
- Список благодарностей
Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
Вывод результата в Command Window
Подскажите пожалуйста какую функцию кроме disp, можно использовать для вывода результата в Command Window? (функция сразу позволяет задать формат вывода, без использования команды format).
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Вывод данных в Command Window
Вопрос: есть эконометрическая задача по построению линейной множественной регрессии. Она решена, НО.
Вывод результата в static text matlab
Подскажите, пожалуйста, что я делаю не так? Пытаюсь получить координаты точки по нажатию мышки на.
Как сделать вывод результата вычисления функции в приложении
Как сделать так,чтобы в поле вводился вектор значений и выводилось в виде матрицы.Данная функция в.
При вставке данных в таблицу: Command text was not set for the command object.
Приятного время суток. Помогите пожалуйста разобраться <% Dim tmp tmp = Request(‘val’).
Вывод строки в MATLAB с помощью функции fprintf
но таким образом заголовок выводится и в первую, и во вторую строку. Как сделать так, чтобы он был общим? Заранее спасибо.
Отслеживать
51.2k 86 86 золотых знаков 266 266 серебряных знаков 505 505 бронзовых знаков
задан 3 мая 2014 в 15:53
25 1 1 золотой знак 1 1 серебряный знак 4 4 бронзовых знака
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Здесь есть проблема важнее заголовка: fprintf собирает элементы матрицы по столбцам, а не по строкам. Как следствие, матрица
-27 -7 13 33 53 250 200 150 100 50
MatrixW: -27;250;-7;200;13 MatrixW: 150;33;100;53;50
что вряд ли приемлемо. Следует заменить w на w’ .
По замыслу, команда fprintf формирует и выводит строку раз за разом, пока есть данные для вывода. Поэтому, если заголовок не должен повторяться, его следует выводить отдельно. Например:
disp('MatrixW:'); fprintf( '%d;%d;%d;%d;%d\n', w');
