Как график из матлаба перенести в ворд

Обновлено: 07.07.2024

Загружает данные в массив A из файла, обозначенного именем файла .

Загружает данные из системного буфера обмена, а не из файла.

A = importdata (___, delimiterIn)

Интерпретирует delimiterIn как разделитель столбцов в файле ASCII, имени файла или данных буфера обмена. Вы можете использовать delimiterIn с любым из входных аргументов в приведенных выше синтаксисах.

A = importdata (___, delimiterIn, headerlinesIn)

Загружает данные из файла ASCII, имени файла или буфера обмена, считывая числовые данные, начиная со строки headerlinesIn + 1 .

[A, delimiterOut, headerlinesOut] = importdata (___)

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

A = importdata (имя файла)

Загружает данные в массив A из файла, обозначенного именем файла .

Загружает данные из системного буфера обмена, а не из файла.

A = importdata (___, delimiterIn)

Интерпретирует delimiterIn как разделитель столбцов в файле ASCII, имени файла или данных буфера обмена. Вы можете использовать delimiterIn с любым из входных аргументов в приведенных выше синтаксисах.

A = importdata (___, delimiterIn, headerlinesIn)

Загружает данные из файла ASCII, имени файла или буфера обмена, считывая числовые данные, начиная со строки headerlinesIn + 1 .

[A, delimiterOut, headerlinesOut] = importdata (___)

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

filename = 'smile.jpg' ; A = importdata ( filename ); image ( A );

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

Импорт файлов Imange

Пример 2

В этом примере мы импортируем текстовый файл и указываем разделитель и заголовок столбца. Давайте создадим ASCII-файл, разделенный пробелами, с заголовками столбцов с именем weeklydata.txt .

Пример 3

В этом примере давайте импортируем данные из буфера обмена.

Математика проста

Низкоуровневый файловый ввод / вывод

Функция importdata является высокоуровневой функцией. Низкоуровневые функции ввода / вывода файлов в MATLAB позволяют максимально контролировать чтение или запись данных в файл. Однако эти функции нуждаются в более подробной информации о вашем файле для эффективной работы.

MATLAB предоставляет следующие функции для операций чтения и записи на уровне байтов или символов:

функция Описание
fclose Закройте один или все открытые файлы
feof Тест на конец файла
FERROR Информация об ошибках файлового ввода-вывода
fgetl Чтение строки из файла, удаление символов новой строки
fgets Читать строку из файла, сохраняя символы новой строки
Еореп Откройте файл или получите информацию об открытых файлах
fprintf Записать данные в текстовый файл
Fread Чтение данных из двоичного файла
frewind Переместить индикатор положения файла в начало открытого файла
fscanf Читать данные из текстового файла
FSEEK Переместить в указанную позицию в файле
ftell Положение в открытом файле
FWRITE Записать данные в двоичный файл

Импорт текстовых файлов данных с низкоуровневым вводом / выводом

Функция fscanf читает отформатированные данные в текстовом или ASCII-файле.

Функции fgetl и fgets читают по одной строке файла за раз, где символ новой строки разделяет каждую строку.

Функция fread считывает поток данных на уровне байтов или битов.

Функция fscanf читает отформатированные данные в текстовом или ASCII-файле.

Функции fgetl и fgets читают по одной строке файла за раз, где символ новой строки разделяет каждую строку.

Функция fread считывает поток данных на уровне байтов или битов.

пример

У нас есть текстовый файл данных «myfile.txt», сохраненный в нашем рабочем каталоге. Файл хранит данные об осадках за три месяца; Июнь, июль и август за 2012 год.

Данные в myfile.txt содержат повторные наборы измерений времени, месяца и количества осадков в пяти местах. Данные заголовка хранят количество месяцев M; таким образом, у нас есть M наборов измерений.

Откройте файл с помощью функции fopen и получите идентификатор файла.

Опишите данные в файле с помощью спецификаторов формата , таких как « % s » для строки, « % d » для целого числа или « % f » для числа с плавающей запятой.

По умолчанию fscanf считывает данные в соответствии с нашим описанием формата, пока не найдет совпадения для данных или не достигнет конца файла. Здесь мы будем использовать цикл для чтения 3 наборов данных и каждый раз будем читать 7 строк и 5 столбцов.

Откройте файл с помощью функции fopen и получите идентификатор файла.

Опишите данные в файле с помощью спецификаторов формата , таких как « % s » для строки, « % d » для целого числа или « % f » для числа с плавающей запятой.

По умолчанию fscanf считывает данные в соответствии с нашим описанием формата, пока не найдет совпадения для данных или не достигнет конца файла. Здесь мы будем использовать цикл для чтения 3 наборов данных и каждый раз будем читать 7 строк и 5 столбцов.

Часто при исследовании какой-либо системы, требуется производить неоднократные опыты, а после этого анализ снятых данных.Поэтому в данной статье я решил поделиться опытом формирования отчетов проделанной работы в Microsoft Word. Итак, начнем.

Создание модели «simulink»

sim

Модель simulink будет представлять собой генератор «белого шума» и осциллограф снимающий значения.
Чтобы создать новую модель нажимаем на верхней панели инструментов «Simulink».В итоге мы должны получить следующую модель. Сохраняем ее под именем «test.mdl»

Создание формы(GUI)

Cоздадим графический интерфейс нашей программы, для этого в matlabe существует утилита GUI(builder), ее можно найти нажав пуск в главном окне, и выбрав пункт Matlab->GUI(builder).
Интерфейс этой утилиты прост, поэтому трудностей при создания формы не возникнет.
Поместим на форму две кнопки(start и save) и axes(сюда мы будем рисовать график). В итоге мы получим следующую форму.

form

Также добавим обработчики событий на кнопки.
Для кнопки start:

function Start_Callback(hObject, eventdata, handles)
open_system('test');//открытие симулинк модели
open_system('test/Scope');//открытие осциллографа
set(handles.figure1, 'UserData',gcf);//запоминаем десриптор окна осциллографа
sim('test');//запуск модели симулик
axes(handles.axes1);
x = -pi:pi/10:pi;
plot(x);//рисуем простой график в axes

Для кнопки stop:
set(hObject,'Enable','off');//делаем не активной кнопку save
reporter(hObject, eventdata, handles);//вызываем функцию снятия скриншота формы
reporter_dop(hObject, eventdata, handles);//вызываем функцию снятия скриншота осциллографа
docrep;//сохраняем вcе word

Сохраняем форму под именем «testForm».

Коды функций reporter,reporter_dop,docrep

Каждую функцию следует поместить в отдельный файл с именем функции.
Код функции reporter:
function reporter(hObject, eventdata, handles)
dir = 'c:\';//директория, где будут храниться код.
n = 1;
if

isempty(dir),
pngFile = strcat(dir,'data-',num2str(n),'.jpg');
scrshot = getframe(gcf);//снимаем скриншот,gcf дескриптор окна формы
imwrite(scrshot.cdata,pngFile,'png','Transparency',get(gcf,'color'));//создаем файл картинки
end
funkname = 'скрин';
filename=sprintf('%s','data-',num2str(n));
pathname=dir;
//записываем данные в файл
if filename

=0
[fid,message] = fopen(strcat(pathname,filename,'.txt'),'w');
if fid

=-1
fprintf(fid,funkname);
fprintf(fid,'\n[image]\n');
fclose(fid);
end
end

Функция reporter_dop имеет похожий код только вместо дескриптора формы берем дескриптор осциллографа.
Код сохранения в word:

dir = 'c:\';
n = 2;
list = [];
if exist(dir,'dir'),
dotFile = strrep(mfilename('fullpath'),mfilename,'report.doc');//Шаблон файла word
docFile = strcat(dir,'отчет.doc');
Word = actxserver('Word.Application'); //Создаем COM Сервер Word записываем раннее подготовленные файлы
%set(word,'Visible',1);
Doc = Word.Documents.Open(dotFile);
Doc.SaveAs(docFile,1);
Selection = Word.Selection;
Selection.Start = Doc.Content.End;
Selection.End = Doc.Content.End;
FLI = Selection.ParagraphFormat.FirstLineIndent;
for i = 1:n,
pngFile = strcat(dir,'data-',num2str(i),'.jpg');
txtFile = strcat(dir,'data-',num2str(i),'.txt');
if exist(pngFile) & exist(txtFile),
fid = fopen(txtFile);
while 1,
tline = fgetl(fid);
if

ischar(tline), break; end;
if strncmp(tline,'[image]',7),
Selection.ParagraphFormat.Alignment = 1;
Selection.ParagraphFormat.FirstLineIndent = 0;
Selection.InlineShapes.AddPicture(pngFile);
Selection.TypeParagraph;
Selection.TypeText(strrep(tline,'[image]',''));
Selection.TypeParagraph;
Selection.ParagraphFormat.Alignment = 0;
Selection.ParagraphFormat.FirstLineIndent = FLI;
elseif strncmp(tline,'[i]',3),
Selection.Font.Italic = 1;
Selection.TypeText(strrep(tline,'[i]',''));
Selection.Font.Italic = 0;
else
Selection.TypeText(tline);
end;
Selection.TypeParagraph;
end
fclose(fid);
end;
end;
Doc.Close;
Word.Quit;
disp(strcat('Создан файл отчета',dir));
else disp('Ошибка при создании файла отчета. ');
end;

Запуск программы

Чтобы запустить нашу программу, после запуска Matlab, необходимо добавить путь к директории с нашими файлами командой: addpath путь к директории.
В итоге после работы программы мы получим файл отчет.doc.

М-книги могут содержать как текст, таблицы, рисунки и другие элементы оформления документа MS Word, так и команды MATLAB u результаты их выполнения. Причем набираемые команды активизируются прямо из документа (М-книги) и результат помещается также в документ. Пользователь имеет возможность работать со средой MATLAB, сопровождая свои действия текстовыми комментариями, набором формул в редакторе Microsoft Equation, словом, оперируя всеми средствами MS Word. Получающиеся интерактивныедокументы могут, например, использоваться в качестве учебных пособий для изучения различных разделов математики, физики и других дисциплин или при составлении отчетов о решении задач в

Настройка MATLAB и создание М-книги

Перед началом работы над М-книгой необходимо произвести некоторые настройки MATLAB на конфигурацию и версию MS Word, установленного на компьютере. Действия, описанные ниже, производятся только один раз при создании первой М-книги. Продолжение работы над существую-

щими М-книгами и разработка новых не требуют повторных настроек. Разумеется, при переустановке MS Word или MATLAB придется произвести процесс настройки сначала.

Суть настройки состоит в том, что создается шаблон документа (М- книги) с необходимыми стилями форматирования и макросами. Создание М-книги в MS Word на основе этого шаблона приведет к встраиванию в интерфейс редактора MS Word средств для связи с MATLAB.

Сначала запускается MATLAB и в командном окне набирается команда notebook('- setup '), которая запускает функцию первоначаль-

ной установки MATLAB Notebook. Эта команда копирует шаблон Notebook m-book.dot в папку шаблонов Microsoft Word, чье местонахождение MATLAB автоматически определяет из системного реестра Windows. Для

Windows 10 и пакета MS Office 2016 эта папка расположена по адресу

Имеется несколько способов, позволяющих начать работу над новой М-книгой. Команда notebook приводит к появлению в MS Word нового файла с именем Документ1, основанного на шаблоне m-book.dot. Если MS Word не был открыт, то он запускается после выполнения данной команды.

Команда notebook('filename') стартует Microsoft Word и от-

крывает файл notebook с именем filename , где filename расположен или в текущем каталоге MATLAB или по заданному полному пути. Если файл filename не существует, то MATLAB создает новый файл notebook с именем filename . Если не указано расширение файла, MATLAB присваивает ему значение .doc .

Пункты меню, относящиеся к управлению файлом Notebook расположены на закладке Настройки .

Покоманде New MATLAB Notebook создаетсяновыйфайл Notebook со следующим порядковым номером Документ2.

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

Дополнительные пункты приобрело также всплывающее меню

Меню Notebook, предназначенодляуправленияиредактированияинтерактивной М-книги. Далее поясняется использование элементов этого меню.

В список стилей включены стили, определенные в m-book.dot: Autolnit, Calc, Error, Input, NoGraph, Output. По умолчанию используется стиль Обычный.

Отметим, что вне зависимости от локализации версии MS Word, все элементы, добавляемые при подключении шаблона m-book.dot, имеют англоязычные названия.

Наберем в документе какую-нибудь команду MATLAB, к примеру f = sin(3/4*pi)*exp(-1)

поместим курсор в набранную строку и выберем в меню Notebook пункт Define Input Cell. Обратите внимание, что стиль набранного текста изменился на Input, сам текст заключен в квадратные скобки, а цвет шрифта изменился на зеленый:

Образовалась так называемая ячейка ввода (Input Cell). Для выполнения команды MATLAB, содержащейся в ячейке ввода, следует убедиться, что данная ячейка является текущей, то есть в ней находится курсор, и выбратьв меню Notebook пункт Evaluate Cell. Нижеячейкивводавдокументе появляется ячейка вывода с результатом в привычном для пользователя

Копирование и вставка — наиболее простой способ добавления диаграммы из электронной таблицы Excel в документ Word.

Вставка диаграммы в documement Word с помощью копирования и вставки

Вы можете изменить диаграмму, обновить ее и изменить, не выходя из Word. Если изменить данные в Excel, диаграмму можно автоматически обновить в Word.

В Excel выберите диаграмму и нажмите CTRL+C или перейдите на главная > Копировать.

В документе Word щелкните или коснитесь того места, куда вы хотите входить диаграмма, и нажмите CTRL+V или выберите главная > в .

Примечание: Диаграмма будет связана с исходной электронной таблицей Excel. При изменении данных в таблице диаграмма будет обновляться автоматически.

Обновление диаграммы

В Word выберите диаграмму.

Перейдите в конструктор диаграмм илиКонструктор > данные > обновить данные.

Вы можете изменить макет и данные диаграммы в Word.

Примечание: Диаграмму, вставленную в виде изображения, невозможно отредактировать, но можно настроить само изображение. Выберите диаграмму, а затем на ленте Формат рисункаилиСредства работы с рисунками — выберите один из вариантов.

Редактирование диаграммы в Word

Перейдите в конструктор диаграмм или Конструктор > данные > Изменить данные и выберите один из следующих вариантов:

Выберите Изменить данные, чтобы изменить диаграмму в Word.

Выберите Изменить данные в Excel.

Примечание: В Word 2010 диаграмма откроется в Excel для редактирования.

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

Диаграмма Excel в документе Word и четыре кнопки для работы с макетом

Параметры макета
Выберите, как объект будет взаимодействовать с текстом вокруг него.

Элементы диаграммы
Добавляйте, удаляйте и изменяйте элементы диаграммы, такие как название, легенда, сетка и метки данных.

Стили диаграмм
Зайте стиль и цветовую схему для диаграммы.

Фильтры диаграмм
Изменение точек данных и имен, которые видны на диаграмме.

Выберите любую кнопку, чтобы просмотреть доступные параметры.

Существует пять вариантов вставки диаграмм Excel в документы Word. В двух случаях в документ внедряется копия всей книги, еще в двух диаграмма остается связанной с исходной книгой, а в последнем — преобразуется в рисунок. Если ни один из этих вариантов не подберет нужных параметров, вы также можете выбрать специальную ветвь.

В Excel выберите диаграмму, в нее нужно Word, а затем нажмите CTRL+C или перейдите на главная > Копировать.

В Word выберите Главная, а затем в списке Ветвь выберите один из пяти вариантов в области Параметры в области вкупок.

Примечание: Наведите указатель на параметр, чтобы прочитать его описание.

Использовать конечную тему и внедрить книгу

Соответствует теме Word

Копия книги Excel внедряется вместе с диаграммой. При этом диаграмма не сохраняет связь с исходной книгой. Для автоматического обновления диаграммы измените данные во внедренной книге.

Сохранить исходное форматирование и внедрить книгу

Используется тема Excel

Копия книги Excel внедряется вместе с диаграммой. При этом диаграмма не сохраняет связь с исходной книгой. Для автоматического обновления диаграммы измените данные во внедренной книге.

Использовать конечную тему и связать данные

Это параметр вставки по умолчанию (Ctrl+V).

Соответствует теме Word

Диаграмма остается связанной с исходной книгой. Для автоматического обновления диаграммы измените данные в исходной книге. Вы также можете выбрать Инструменты диаграммы > Конструктор >обновить данные.

Сохранить исходное форматирование и связать данные

Используется тема Excel

Диаграмма остается связанной с исходной книгой. Для автоматического обновления диаграммы измените данные в исходной книге. Вы также можете выбрать Инструменты диаграммы> Конструктор >обновить данные.

Вы не можете обновить данные или изменить диаграмму, но можете настроить ее внешний вид. В области Средства работы с рисункамивыберите Формат.

Основные различия между внедренными и связанными объектами заключаются в том, где хранятся данные и как они обновляются после вставки в документ Word.

Связанный объект
Сведения из объекта, связанного с Word сохраняются в исходных файлах и могут обновляться при внесении изменений в исходный файл. Если размер файла имеет значение, пользуйтесь связанными объектами.

Внедренный объект
Данные из Excel, которые вы Word, не изменяются при изменении источника Excel файла. Внедренный объект перестает быть частью исходных файлов и не будет отражать внесенные изменения.

Перейдите в > текст >.

Перейдите в >создатьиз файла и найдите файл, который вы хотите вставить в Word документа.

Выберите один из указанных ниже вариантов.

Чтобы добавить файл в качестве связанного объекта, выберите связать с файлом, а затем — ОК.

Чтобы добавить файл как внедренный объект, выберите В качестве значка, а затем — ОК.

Читайте также: