Импорт excel в mathcad

Импорт и экспорт данных в MathCAD

Продолжая публикацию избранных статей из готовящейся в издательстве «Новое знание» книги «Вычисления в MathCAD. Практическое руководство» и учитывая пожелания читателей «Компьютерной газеты», сегодня мы решили немного разобраться с таким небезынтересным с практической стороны вопросом, как взаимосвязь MathCAD и MS Excel в плане обмена данными между двумя этими системами, а также c принципами организации того же обмена, но уже в аспекте работы с обычными текстовыми ASCII-файлами.

Excel

В том случае, если вы хорошо владеете Excel, вам совершенно не обязательно осваивать многие разделы в MathCAD. К тому же, вопросы, связанные со статистической обработкой данных и всевозможными бизнес-задачами, решаются в нем гораздо проще (и возможности Excel в этих областях гораздо шире). С другой стороны, MathCAD обладает несравнимо более высоким потенциалом в сфере обработки экспериментальных данных (интерполяции, регрессии и экстраполяции), поэтому, даже если результаты ваших измерений были записаны в виде электронной таблицы, строить исходя из них графики и диаграммы все же лучше в нем.
Дело в том, что экспортировать данные из таблицы Excel в матрицу MathCAD можно просто скопировав их и вставив затем в пустую таблицу ввода. Однако провести обратную операцию (т.е. данные из матрицы MathCAD экспортировать в Excel) используя таблицу ввода (Input Table) не получится. Для выполнения этой задачи следует задействовать таблицу Excel как компонент MathCAD.
Компонентами в MathCAD называются приложения или объекты из других приложений, которые могут принимать непосредственное участие в работе создаваемого вычислительного алгоритма. Учитывая глобальность распространенности таких систем, как Excel или MatLab, возможность MathCAD осуществлять с ними согласованную работу просто неоценима, т.к. это значительно расширяет потенциал всех этих программ. Именно по этой причине создатели MathCAD посвятили целый раздел Центра Ресурсов (Extending MathCAD — подробно здесь мы его обсуждать не будем) примерам по использованию компонентов.
Для того чтобы установить один из компонентов, прежде всего вы должны открыть специальное диалоговое окно Component Wizard (Мастер компонентов). Сделать это можно при помощи команды Component (Компонент) меню Insert (Вставить) или, лучше, задействовав одноименную кнопку панели Standard (Стандартные).
В стандартной установке MathCAD компонентов совсем немного — около 10. Говорить обо всех мы не будем, а ограничимся освещением двух наиболее часто используемых. Необходимую информацию об остальных компонентах заинтересованный читатель сможет найти в справочной системе программы.
Чтобы вставить в документ MathCAD электронную таблицу Excel, выполните следующие операции:
— Запустите, задействовав соответствующую команду меню Insert (Вставить) или кнопку панели Standard (Стандартные), диалог Component Wizard (Мастер компонентов).
— В списке появившегося окна выберите строку Excel и нажмите кнопку Next (Далее).
— В открывшемся диалоговом окне Excel Setup Wizard (Мастер установки Excel) вы должны выбрать один из имеющихся параметров в зависимости от типа решаемой проблемы. Так, если вам требуется провести экспорт каких-то данных из MathCAD в Excel с целью их обработки, то активизируйте опцию Create an empty Excel worksheet (Создать пустой документ Excel). Если же вы собираетесь импортировать в MathCAD данные из существующего Excel-файла, то отметьте настройку Create from file (Создать из файла).
— Любой компонент может быть вставлен в документ MathCAD как в своем обычном виде (для Excel это будет таблица), так и в форме маленькой картинки — иконки (Icon). Никаких различий в работе с компонентом в этих двух формах не существует, поэтому выбор типа его вида должен определяться вашими предпочтениями и спецификой решаемой задачи (использование иконок позволяет значительно экономить место на документе). По умолчанию компонент вставляется в своем обычном виде. Для того чтобы представить его в форме иконки, задействуйте параметр Display as Icon (Отобразить как иконку) диалогового окна Excel Setup Wizard (Мастер установки Excel) (рис.1).

Рис.1. Иконка компонента Excel — Когда все необходимые настройки в окне Excel Setup Wizard (Мастер установки Excel) будут сделаны, нажмите Next (Далее).
— При помощи опций появившейся второй страницы диалогового окна Excel Setup Wizard (Мастер установки Excel) вы должны определить, с какой ячейки будут читаться (или записываться) данные из документа Excel.
Практически это следует сделать с первой (A1) ячейки, так что вносить какие-либо изменения в принятые по умолчанию настройки вам почти наверняка не придется (рис.2).

Рис. 2. Настройка параметров компонента Excel

— Нажмите Finish (Готово).
В результате осуществления описанных выше действий в документе MathCAD появится таблица, очень похожая на обычную таблицу ввода (Input Table). В том случае, если вы вставляли пустой лист Excel, она будет содержать оператор присваивания (для того чтобы вы могли задать ей имя и работать в дальнейшем, как с обычной матрицей) и маркер, в котором вы должны прописать имя матрицы, данные из которой следует занести в таблицу.
Прочитав матрицу значений MathCAD в таблицу Excel, провести необходимые расчеты вы можете, просто выполнив по ней двойной левый щелчок мышью. При этом все рабочие панели MathCAD будут заменены инструментами Excel, и нужные преобразования можно будет сделать точно так же, как и при непосредственной загрузке программы. Выполнив затем щелчок мышью по рабочей области, вы вернетесь в нормальный режим.
В качестве примера согласованной работы MathCAD и Excel приведем расчет среднеквадратичного отклонения выборки, полученной при помощи генератора случайного равномерно распределенного числа rnd MathCAD с использованием специальной встроенной функции СТАНДОТКЛОН Excel. Результаты этого расчета представлены на рис.3.


Рис. 3. Работа с компонентом Excel

File Read or Write (Прочитать или записать файл)

Нельзя не согласиться, что MathCAD предоставляет замечательные возможности в области обработки данных. Множество встроенных статистических функций, функции интерполяции и регрессии, разнообразие графиков и поверхностей позволяют наилучшим образом представить полученные вами результаты измерений. Самая трудная задача при этом — перевод данных в доступный для MathCAD вид. Конечно, если измерений было проведено немного, то соответствующие матрицы и векторы можно создать и непосредственно, заполнив их вручную. Однако, если данных много, то такой способ может быть неэффективен.
Значительно облегчить задачу обработки данных может то, что MathCAD способен считывать информацию из текстовых, или ASCII-файлов. Вообще, ASCII-форматы очень распространены, и такого рода файлы создаются как при работе моделирующих алгоритмов на C или «Фортране», так и программами, управляющими всевозможными измерительными приборами. Кроме того, ASCII-файл вы можете создать, распознав при помощи специальной программы (например, FineReader) просканированный документ.
MathCAD способен читать как структурированные, так и неструктурированные ASCII-файлы. При этом в первом случае результатом будет стандартный для программы вектор, во втором — соответствующая матрица.
При помощи MathCAD можно не только прочитать, но и записать ASCII-файл. Кстати, практически любая широко используемая программа может как экспортировать, так и импортировать ASCII-файлы. Учитывая это, описываемая возможность MathCAD может оказаться весьма и весьма полезной.
Наиболее простым для восприятия системой форматом ASCII-файла является неструктурированный текстовый документ. Термин «неструктурированный» означает, что в приведенном документе важна лишь последовательность числовых значений, а не их принадлежность к тому или иному столбцу или строке. Такие ASCII-файлы генерируются, например, управляющими различными измерительными установками C или «Паскаль» программами, которые записывают данные в строчку последовательно друг за другом. Когда лимит длины строки оказывается превышен, ASCII-редактор автоматически осуществляет перевод на следующую. Открыв неструктурированный ASCII-файл, вы увидите простую последовательность чисел. Более сложным случаем является чтение структурированного текстового файла, т.к. при этом приходится учитывать принадлежность значения к определенным строке или столбцу. Структурированные ASCII-файлы встречаются на практике гораздо чаще, чем неструктурированные, поэтому особенности использования соответствующих специальных функций мы опишем исключительно на их примерах.
Для того чтобы прочитать данные из текстового документа, используйте специальную встроенную функцию READPRN(«file»), где file — это имя текстового файла (если он сохранен в том же каталоге, что и MathCAD) или путь к файлу (если он расположен, например, на Рабочем столе). При помощи этой функции можно импортировать данные не только из файлов с расширением .prn, но и из файлов любых других форматов, использующих кодировку ASCII: .dat, .txt и пр.
В предыдущих версиях программы для импортирования данных из неструктурированного текстового файла существовала специальная функция READ. Однако в настоящее время она считается устаревшей, и во всех случаях рекомендуется использовать функцию READPRN.
Для того чтобы в MathCAD было возможным импортирование данных из текстового файла, следует учитывать следующие правила:
— Числа в ASCII-файле должны быть разделены либо пробелами (одним или несколькими), либо запятыми (но ни в коем случае не точками), либо символами табуляции, либо (при использовании функции READ) управляющими символами перевода строки.
— Для отделения целой части числа от десятичной следует использовать точку, а не запятую. Особое внимание на этот факт стоит обратить в том случае, если вы собираетесь использовать данные, полученные в русифицированной версии Excel, т.к. в числах она использует принятый в странах бывшего СССР формат с запятой.
— Одинаково эффективно MathCAD может считывать как целые, так и десятичные числа. Однако следует помнить, что количество знаков в них не должно превышать 15. Числа со степенью должны быть представлены в инженерном формате (например, числу 1.234•10-6 в нем соответствует запись 1.234E-6). Для того чтобы записать в ASCII-файл комплексные числа, их действительные и мнимые части должны быть заданы по отдельности. Сформировать же затем по полученным при прочтении текстового файла векторам соответствующий вектор комплексных чисел можно довольно просто, организовав цикл при помощи оператора ранжированной переменной.
— В том случае, если вы собираетесь прочитать структурированный ASCII-файл, учтите, что число элементов во всех строках должно быть одинаковым. В противном случае система выдаст сообщение об ошибке: «Can’t understand something in this data file. If this file came from spreadsheet, make sure you saved it ASCII text only» — «Не все возможно распознать в этом файле данных. Если этот файл был получен из электронной таблицы, проверьте, что вы его сохранили только как текст ASCII» (рис.4).

Рис.4. Ошибка при импортировании данных

— Пустые строки и столбцы, содержащие ASCII-текст, при считывании игнорируются.
MathCAD может не только импортировать, но и создавать на основании матриц структурированные .prn-файлы. Для этого в систему встроена специальная функция WRITEPRN(«file»), где file — имя создаваемого файла. Интересной особенностью этой функции является то, что не она присваивается, а, наоборот, ей присваивается значение некоторой матрицы. Например, запись WRITEPRN(«C:Samples M.prn»):=M означает, что соответствующий матрице M ASCII-файл M.prn будет создан в корневой папке Samples диска С:.
Работая с функцией WRITEPRN, нужно учитывать следующие факты:
— В том случае, если вы пропишете только имя файла без пути к нему, WRITEPRN сохранит его в каталоге программы.
— WRITEPRN может создавать файлы не только с расширением .prn, но и в любом другом ASCII-формате, например, .dat или .txt. Расширение создаваемого файла вы задаете, когда прописываете его имя в скобках рассматриваемой функции.
— Если файл с указанным для WRITEPRN именем уже существует, то он автоматически заменяется без обычного для Windows предупреждения.
— В записанном при помощи WRITEPRN текстовом файле значения будут разделены пробелами. В качестве десятичного знака будет использована точка.
— По умолчанию количество знаков импортируемых из MathCAD численных данных ограничено 4. Хотя это и соответствует обычным правилам отображения чисел в MathCAD, в ряде случаев подобный подход может быть неприемлем. В том случае, если вам надо экспортировать данные с более высокой точностью, вы можете увеличить количество сохраняемых знаков. Для того чтобы это сделать, обратитесь к закладке Builds-In Variables (Системные переменные) диалогового окна Math Options (Математические опции) меню Math (Математические). Здесь в окошке параметра PRNPRECISION задайте необходимый уровень точности. Очевидно, что наибольшая величина PRNPRECISION должна равняться 16.
— Увеличивая точность экспортируемых данных, вы должны учитывать, что по умолчанию ширина столбца создаваемого WRITEPRN текстового файла соответствует 8 знакам. Следовательно, если PRNPRECISION превышает это значение, то ширину столбца следует увеличить (если этого не сделать, данные не сольются, однако значения в соседних столбцах будут расположены вплотную друг к другу, что значительно снижает наглядность). Сделать это можно при помощи параметра PRNCOLWIDTH закладки Build-in Variables (Системные переменные). Величина ширины столбца в MathCAD не лимитируется.
— Соответствующие определения для PRNPRECISION и PRNCOLWIDTH можно сделать и непосредственно в документе (аналогично TOL и CTOl), что гораздо проще и техничнее, чем использование закладки Build-in Variables (Системные переменные) диалогового окна Math Options (Математические опции).
— В том случае, если в исходной матрице содержались элементы с порядком, то в созданном при помощи WRITEPRN файле они будут представлены в инженерном формате.

Рис.5. Запись данных в текстовый файл при стандартных настройках

Иногда требуется не создать новый текстовый файл, а лишь добавить новую информацию к уже существующему. В MathCAD задачи такого рода можно решать при помощи функции APPENDPRN(«file»), где file — имя файла (или путь к нему), к которому нужно дописать сведения. По особенностям своего синтаксиса функция APPENDPRN полностью соответствует функции WRITEPRN, поэтому останавливаться на этом вопросе мы не будем. Естественным условием при записи значений матрицы в конец некоторого текстового файла является то, что число их столбцов должно совпадать.
В предыдущих версиях MathCAD существовали специальные функции WRITE и APPEND, предназначенные для записи данных в неструктурированный текстовый файл. Однако начиная с версии программы 2001 года эти функции считаются устаревшими (что вполне оправданно, т.к. неструктурированный текст — это просто частный случай структурированного).
О функциях, предназначенных для чтения (и, соответственно, записи) данных из текстового файла (READPRN и WRITEPRN), мы довольно подробно говорили в предыдущей главе. Однако в MathCAD подобную работу можно выполнить и гораздо проще, обратившись к специальному компоненту File Read or Write (Прочитать или записать файл). Так, например, для того чтобы прочитать таблицу значений из .prn-файла в матрицу, следует:
— В окне Component Wizard (Мастер компонентов) выбрать строку File Read or Write (Прочитать или записать файл) и нажать Next (Далее).
— В появившемся диалоговом окне File Read or Write Wizard (Мастер записи или чтения файла) задействовать опцию Read from file (Читать из файла) и нажать кнопку Next (Далее).
— На следующей странице окна File Read or Write Wizard (Мастер записи или чтения файла) определить тип читаемого файла. Сделать это надо в списке File Format (Формат файла). В нашем случае нужно оставить определенный по умолчанию пункт Text Files (Текстовые файлы).
— Заполнить строку Enter the name of the file or data source which will be associated with this component (Введите имя файла или источника данных, который будет соединен с этим компонентом). В ней нужно прописать либо имя файла (если он сохранен в том же каталоге, что и MathCAD), либо путь к нему (для чего удобно использовать кнопку Browse (Обзор)).
— Нажать Next. При этом в документ MathCAD будет вставлен компонент в виде иконки с незаполненным оператором присваивания. Проименовав компонент, вы получите совершенно обычную матрицу, с которой можно будет проводить все допустимые в MathCAD преобразования (рис.6).

Рис.6. Чтение данных из текстового файла

Столь же просто, как и прочитать, вы можете записать текстовый файл, используя тот же компонент.
Кстати, при помощи компонента File Read or Write (Чтение или запись файла) вы можете считывать информацию из электронных таблиц, причем делается это даже легче, чем при использовании компонента Excel.

Дмитрий Гурский, dagi@tut.by
Юрий Стрельченко, dot@omen.ru

Компьютерная газета. Статья была опубликована в номере 02 за 2003 год в рубрике soft :: текст

Вы можете использовать переменные и функции из других файлов Mathcad в своем рабочем листе. Вы можете также считывать данные из Excel и использовать таблицы Excel в Mathcad.

Данные из других файлов Mathcad

mathcad_17_01

Выше Вы видите две области с командами “Включить <<” (такие области можно вставить с помощью кнопки “Вставить документ” на вкладке Ввод/вывод). С их помощью в текущий рабочий лист включаются два других файла Mathcad. Чтобы включить файл Mathcad, следует нажать на кнопку “Включить <<” и выбрать нужный файл.

На рисунке показано содержание файла CE Data. Здесь содержится набор термодинамических данных. Среди них Вы увидите плотности газов и жидкостей:

mathcad_17_02

Значения двух из них показаны ниже:

mathcad_17_03

Эти выражения находятся в текущем документе. Эти значения не определены здесь (после имени переменной стоит =, а не := ), а взяты из файла CE Data, и Вы можете использовать эти значения в текущем документе.

В файле FunctionX содержится функция с именем f(x):

mathcad_17_04

Мы можем построить график этой функции в текущем документе, не смотря на то, что ее определение находится не в текущем файле:

mathcad_17_05

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

При включении другого файла Mathcad Вы можете сохранить его вместе с текущим документом. Для этого активируйте кнопку “Кэшировать документ” на вкладке Ввод/вывод:

mathcad_17_06

Размер файла при этом увеличится.

При изменениях в других файлах Mathcad они не обновятся автоматически в текущем документе. Для обновления нажмите на кнопку “Включить <<”, найдите файл и укажите его заново.

Использование PowerPoint в Mathcad

Вы можете копировать изображения из PowerPoint и вставлять их Mathcad, где их можно перемещать и изменять масштаб. Также Вы можете копировать уравнения и графики из Mathcadи вставлять их в PowerPoint как изображения.

Чтение данных из Excel

Данные часто собирают в таблицы Excel. Вы можете считать их в Mathcad в векторы и матрицы, а затем проводить вычисления над ними уже в Mathcad. Для этого нужно иметь установленный Excel 2003 или более поздней версии, а файлы должны быть в формате *.xlsx или *.xls.

В качестве примера мы возьмем файл Matrix.xlsx, который содержит данные в ячейках A1:U21:

mathcad_17_07

Ниже мы считываем данные в Mathcad для того, чтобы по ним построить 3D-график:

mathcad_17_08

На вкладке Ввод/вывод нажмите кнопку READEXCEL. Откроется меню, которое позволит найти файл и ввести диапазон ячеек, которые должны быть переданы в Mathcad. Этой команде следует присвоить имя переменной (здесь — z).

Использование Excel в Mathcad

Excel можно использовать прямо внутри Mathcad. Для демонстрации мы будем использовать векторы, определенные в Mathcad:

mathcad_17_09

Ниже вставлен компонент Excel – Ввод/Вывод –> Компонент Excel –> Вставить компонент Excel:

mathcad_17_10

В средней части находится окно Excel. В верхней части мы вводим данные в Excel (из Mathcad). Мы перенесли векторы v и w в ячейки A1:A5 и C1:C5.

Если дважды щелкнуть по таблице, откроется документ Excel. Теперь Вы можете работать в Excel, используя все его инструменты. Мы произвели простые вычисления в ячейках E1:E5, затем закрыли Excel.

Если Вы хотите использовать результаты из Excel в Mathcad, используйте нижнюю часть компонента Excel, блок “Вывод”. Здесь мы перенесли ячейки E1:E5 в вектор u (подстрочный индекс вводится через [ ):

mathcad_17_11

Обратите внимание, что “excel” вводится в нижнем регистре, а диапазон ячеек вводится как строка. Здесь мы ввели диапазон вектора из пяти элементов, но это может быть любой диапазон.

При переносе данных в Excel не нужно задавать диапазон, только первую ячейку:

mathcad_17_12

При выводе данных нужно определять весь диапазон. Мы перевели только числа, но можно переводить и строки (например, заголовки столбцов).

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

mathcad_17_13

Использование Mathcad в Excel

Вы можете также использовать данные Mathcad в Excel. Ниже мы создали два вектора с использованием «включенной» функции f(x). Мы импортировали их в Excel и построили там график:

mathcad_17_14

Внутри Excel Вы можете редактировать этот график и экспортировать его в PowerPoint или в Word. Обратите внимание, что нумерация ячеек в Excel начинается с 1, а не с 0, как в Mathcad.

Резюме

Есть несколько способов ввести данные в Mathcad:

  1. Можно использовать переменные, массивы и функции из других файлов Mathcad с помощью команды «Вставить документ» на вкладке Ввод/вывод. Изменения в других документах не обновляются автоматически.
  2. Рисунки из PowerPoint в Mathcad можно вставлять, перемещать и изменять их размер.
  3. Считывайте данные из файлов Excelв Mathcadс помощью команды READEXCEL на вкладке Ввод/вывод. Вы можете использовать любой массив для дальнейших вычислений после присвоения имени переменной.
  4. Для использования Excel внутри Mathcad откройте окно «Вставить компонент Excel» cвкладки Ввод/вывод. Окно находится в средней части. При двойном щелчке откроется Excel. При закрытии окна Excel Вы вернетесь к работе в Mathcad.
  5. Ввод данных расположен в верхней части компонента. Следующее выражение импортирует вектор u из пяти элементов из Mathcad в Excel:

mathcad_17_15

Для ввода диапазона ячеек используется нумерация Excel. Экспорт данных в Mathcad:

mathcad_17_16

  1. Находясь в Excel, Вы можете использовать все его инструменты и возможности. Например, Вы можете перенести график в Word или в PowerPoint.
  2. Сочетание Mathcad и Excel очень полезно – используйте преимущества табличного представления данных Excelи легкость проведения расчетов в Mathcad.

Добавил:

Upload

Опубликованный материал нарушает ваши авторские права? Сообщите нам.

Вуз:

Предмет:

Файл:

Скачиваний:

137

Добавлен:

20.05.2015

Размер:

4.66 Mб

Скачать

Алексеев Е.Р., Чеснокова О.В

Для записи элементов матрицы в файл E:matr_C.txt выполним команду Insert Data File OutPut. На первом этапе определяются параметры создаваемого файла

(рис. 10.8).

Рис. 10.8. Параметры текстового файла, в который записывается матрица C Далее задаются строки и столбцы матрицы, которые будут записаны в

текстовый файл E:matr_C.txt (рис. 10.9).

После это в рабочем окне MathCAD появляется значок компонента File Output, ниже которого необходимо указать имя передаваемой в файл матрицы (в нашем случае С) (см. рис. 10.10).

Рис. 10.9. Параметры матрицы C

Рис. 10.10. Компонент

File Output

В результате сформирован файл E:matr_C.txt (рис. 10.11).

141

Алексеев Е.Р., Чеснокова О.В

Рис. 10.11. Содержимое файла E:matr_C.txt

10.1.2. Чтение информации из текстового файла

Для чтения данных из текстового файла можно воспользоваться функциями READPRN, READFILE, компонентом File Input или мастером импорта данных. Рассмотрим их последовательно.

Чтение данных с помощью функции READPRN

Обращение к функции READPRN имеет вид: name:=READPRN(“file”)

здесь name – имя матрицы, куда записывается содержимое текстового файла file.

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

В качестве примера рассмотрим следующий текстовый файл e:abc13.txt

2

3

4

5

7

3.4

9.25

12.91

1

2

8.8

1.1111

Считаем его с помощью функции READPRN в матрицу C (рис. 10.12).

Рис. 10.12. Чтение данных с помощью функции READPRN

Внимание!!! Функция не сможет считать данные из файла, в котором находится всего одно число.

Чтение данных с помощью функции READFILE

Наиболее универсальные возможности чтения из файлов предоставляет появившаяся в MathCAD 10 функция READFILE следующей структуры:

name:=READFILE(“file”, ”type”, colwidth, rows, cols, emptyfill)

здесь

file – имя файла на диске;

параметр type определяет тип файла, может принимать одно из

следующих значений: delimited – значения в текстовом файле разделяются символом табуляции; fixed –каждый столбец матрицы

9 Между числами, которые хранятся в текстовом файле, должен быть хотя бы один пробел, символ табуляции или символ конца строки

142

Алексеев Е.Р., Чеснокова О.В

имеет фиксированную ширину; Excel – данные будут считываться из файла MS Excel;

параметр colwidth используется только при типе файла fixed и определяет ширину столбца матрицы;

rows – определяет номер строки, начиная с которой данные из файла

считываются в переменную name, в качестве name можно использовать массив из двух элементов, определяющий диапазон10 считываемых строк

;

cols – определяет номер столбца, начиная с которой данные из файла считываются в переменную name, в качестве name можно использовать массив из двух элементов, определяющий диапазон считываемых столбцов ;

emptyfill – значение, которое будет заменять отсутствующие элементы.

Обязательными в этой функции являются только первые два параметра file, type.

Рассмотрим использование этой функции на следующем примере.

В текстовом файле E:abc.txt хранится следующая информация (рис. 10.13). Примеры считывания данных из файла E:abc.txt с помощью функции READFILE представлены на рис. 10.14.

Рис. 10.13. Содержимое файла

Рис. 10.14. Считывание данных из файла

E:abc.txt

E:abc.txt с помощью функции READFILE

Чтение данных с помощью компонента File Input

Еще одним способом считывания данных из текстового файла является использование компонента File Input, который вызывается командой Insert Data File Input. Рассмотрим использование его на примере чтения второй и

10 В этом массиве хранится номер начальной и номер конечной строки, которые будут считываться из текстового файла в матрицу

143

Алексеев Е.Р., Чеснокова О.В

третьей строки из файла E:abc.txt (рис.10.13). После выполнения команды Insert Data File Input на экране появляется окно (рис. 10.15), аналогичное рассмотренному на рис. 10.5. Отключим флажок Use comma as decimal symbol(в нашем примере разделителем целой и дробной части является .) и, указав в качестве файла E:abc.txt, перейдем к следующему этапу работы с компонентом File Input. На этом этапе надо указать, что в матрицу будем считывать строки со второй по третью и все столбцы (рис. 10.16). На экране появится значок компонента File Input, возле которого в пустующем поле необходимо будет ввести имя матрицы (рис. 10.17).

Рис. 10. 15. Компонент File Input(выбор файла)

Рис. 10. 16. Компонент File Input(определение параметров матрицы)

144

Алексеев Е.Р., Чеснокова О.В

Рис. 10. 17. Результаты импорта данных из файла E:abc.txt с помощью компонента File Input

Чтение текстовых данных с использованием мастера импорта данных

Еще одним нововведением MathCAD 10 является мастер импорта данных, который вызывается с помощью команды Insert Component Data Import Wizard. Мастер импорта данных позволяет последовательно, задавая параметры на каждом шаге, считать данные из файла. Использование мастера рассмотрим на примере чтения данных из текстового файла E:abc2.txt (рис. 10.18)

Рис. 10.18. Содержимое файла E:abc2.txt

1.На первом шаге мастера импорта (File Options)(рис. 10. 19) определяются тип и имя файла.

Рис. 10.19. Первый шаг мастера импорта, определение имени и типа файла

2.На следующем этапе (Delimited Text Options) определяются (рис. 10.20): тип разделителя между числами (параметр Delimiter); номер строки, с которой начинается считывание информации (параметр Starting row);параметр Blank rows, который определяет действия при наличии пустых строк: skip

145

Алексеев Е.Р., Чеснокова О.В

– пропускать пустые строки, read – считывать пустую строку в матрицу, stop reading – прервать чтение при наличии пустых строк; количество строк, воспринимаемых, как нижний колонтитул (параметр Footer rows).

Рис. 10.20. Окно Delimited Text Options

3.Третий этап (Text Options) позволяет определить (см. рис. 10.21): символы, выделяющие текст (параметр Text qualified), разделитель целой и дробной части (параметр Decimal symbol), разделитель тысяч (параметр Thousands separator), значение, которое будет заменять отсутствующие элементы (параметр Missing Value).

Рис. 10.21. Окно Delimited Text Options

146

Алексеев Е.Р., Чеснокова О.В

4.На последнем этапе (Data Range) определяются строки и столбцы, которые будут считаны из файла (рис. 10.22)

Рис. 10.22. Окно Data Range

После этого компонент появится в документе MathCAD и останется только указать имя матрицы, куда будут считываться данные из файла (рис. 10.23).

Рис. 10. 23. Результаты чтения данных из файла E:abc2.txt с помощью мастера импорта

10.2. Передача данных между MathCAD и MS Excel

Одним из наиболее распространенных форматов хранений числовых результатов является формат электронных таблиц MS Excel. Поэтому часто возникает необходимость записывать результаты MathCAD в формате MS Excel и считывать из MathCAD результаты, хранящиеся в рабочих книгах MS Excel.

10.2.1. Запись результатов в формате электронных таблиц MS Excel

Наиболее удобным способом вывода результатов в формате MS Excel является компонент File Output. Работа с этим компонентом при выводе результатов описана в § 10.1.1 (рис. 10.5-10.11). При выводе результатов в виде файла MS Excel необходимо в качестве типа файла указать Microsoft Excel.

Рассмотрим это на следующем примере. Записать матрицу B (рис. 10.24) в файл b.xls. Выполним команду Insert Data File Output. На экране последовательно появится окно (рис. 10.25), в котором в качестве типа файла укажем MS Excel, а в качестве имени файла b.xls. необходимо определить параметры создаваемого на диске файла (рис. 10.25).

147

Алексеев Е.Р., Чеснокова О.В

Рис. 10. 24. Матрица B

Рис. 10.25. Окно определения параметров выходного файла

После щелчка по кнопке Готово в документе MathCAD необходимо будет ввести имя матрицы B (рис. 10.26). В результате будет сформирован файл MS Excel (рис. 10.27).

Рис. 10. 26. Формирование файла b.xls в MathCAD

Рис. 10. 27. Файл b.xls в MS Excel

148

Алексеев Е.Р., Чеснокова О.В

10.2.2. Чтение информации из файлов электронных таблиц MS Excel

Для чтения данных из файлов MS Excel можно воспользоваться компонентом File Input. Рассмотрим эту проблему на следующем примере: считать матрицу, хранящуюся в ячейках Sheet1!B2:L211 в файле e:primer.xls в документ MathCAD.

Для вставки компонента File Input необходимо выполнить команду Insert Data File Input, и в открывшемся диалоговом окне указать тип и имя файла, из которого импортируются данные (рис. 10.28).

Рис. 10. 28. Окно определения параметров файла e:primer.xls

На следующем этапе необходимо указать имя рабочего листа, где хранятся данные и диапазон ячеек (рис.10.29).

Рис. 10. 29. Определение диапазона данных в MS Excel.

После этого останется ввести имя матрицы в MathCAD, куда будут импортироваться данные (рис. 10.30).

11 MathCAD 12 не понимает символов кириллицы в именах файлов и рабочих листов MS Excel

149

Алексеев Е.Р., Чеснокова О.В

Рис. 10. 30 Результаты чтения данных из файла e:primer.xls с помощью компонента File Input

Еще одним методом импорта данных из MS Excel в MathCAD является компонент MS Excel, использование которого рассмотрим на примере передачи двух массивов P0, U1 и матрицы , хранящихся в файле matr.xls (обязательно в первом листе) в MathCAD.

Пусть массив P0 хранится на первом листе, в ячейках A1:A30, массив U1 – в ячейках C3:K3, матрица хранится в ячейках C5:K29.

Для внедрения компонента MS Excel необходимо выбрать в меню команду Insert Component, и в открывшемся диалоговом окне выбрать MS Excel (см. рис. 10. 31), щёлкнуть по кнопке Next, после чего выбрать имя открываемого файла. В следующем диалоговом окне в ячейке Outputs указать количество данных, передаваемых из Excel в MathCAD (в нашем случае 3), а в ячейке Inputs – количество данных, передаваемых из MathCAD в Excel, а также указать диапазоны MS Excel, где хранятся данные (рис. 10.32)

Рис. 10. 31 Вставка компонента MS Excel

150

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

ValeRa_

Сообщения: 5
Зарегистрирован: Пн дек 29, 2003 2:05 am

Excel в Mathcad

Здравствуйте

Срочно нуждаюсь в вашей помощи.

У меня есть большая таблица в Excel (3×136), а вычисления по ней нужно проводить в Mathcad. Интегрировал я эту таблица в маткад, присвоил ей, например, имя table, а вот, как с ней работать — не знаю :(

Итак, вопрос: Как мне каким-то переменным присвоить по каждому столбцу этой таблицы?

Если обычная таблица маткадовская была, то я знаю, как сделать

(например, для первого столбикабыло бы: first:=table<0>(<0> — в верхнем индексе)), а вот, как сделать для экселевской таблицы, я не знаю :(

Выручайте!!!

Заранее спасибо.


OchkovVF

Сообщения: 585
Зарегистрирован: Вт мар 05, 2002 6:58 pm

Сообщение OchkovVF » Пн дек 29, 2003 9:30 am

Нужно таблицу вставить через команду Insert/Component/Microsoft Excel. И там в диалоге указать, что берется из таблицы, а что в нее передается (Inputs/Outputs).

Но лучше скопировать данные из таблицы Excel в таблицу Mathcad.


Леонид

Сообщения: 452
Зарегистрирован: Чт фев 20, 2003 3:31 pm
Откуда: Украина
Контактная информация:

Сообщение Леонид » Пн дек 29, 2003 2:50 pm

Можно сохранить экселевскую таблицу как форматированный текст с разделителем — пробел (расширение .prn), а затем считать в маткад, одновременно присвоив содержимое таблицы массиву:

table:=READPRN(Имя_файла.prn)

Ну а дальше знаете, что делать.


OchkovVF

Сообщения: 585
Зарегистрирован: Вт мар 05, 2002 6:58 pm

Сообщение OchkovVF » Пн дек 29, 2003 6:23 pm

«Но лучше скопировать данные из таблицы Excel в таблицу Mathcad»

=========

Да, для меня это было бы гораздо лучше, но как именно это сделать?

Если Вы даже это не можете сделать — то уже начались Новогодние праздники!….


ValeRa_

Сообщения: 5
Зарегистрирован: Пн дек 29, 2003 2:05 am

Сообщение ValeRa_ » Пн дек 29, 2003 6:35 pm

2 OchkovVF

Вот она — руССкая душа: отмечать праздники за три дня — это круто!

У нас в Украине только 29-е…

А вообще, я имел в виду, что может вы знаете какой-то автоматический способ перевода таблицы Экселя в таблицу Маткада? Потому что я знаю только «ручной».


OchkovVF

Сообщения: 585
Зарегистрирован: Вт мар 05, 2002 6:58 pm

Сообщение OchkovVF » Пн дек 29, 2003 6:42 pm

См. мой первый ответ — нужно вставить через команду Insert/Component/Microsoft Excel. И там в диалоге

указать, что берется из таблицы, а что в нее передается (Inputs/Outputs).

Но лучше скопировать данные из таблицы Excel в таблицу Mathcad.


ValeRa_

Сообщения: 5
Зарегистрирован: Пн дек 29, 2003 2:05 am

Сообщение ValeRa_ » Пн дек 29, 2003 9:16 pm

2 OchkovVF

Господи… Да, знал я это и до вашего сообщения! Дело ведь не в том КАК ВСТАВИТЬ, а в том КАК ИСПОЛЬЗОВАТЬ.

Но лучше скопировать данные из таблицы Excel в таблицу Mathcad.

=========

КАК?! Как скопировать???! Copy — Paste ???! (Ctrl+C — Ctrl+V)

И так все 400 значений???!


OchkovVF

Сообщения: 585
Зарегистрирован: Вт мар 05, 2002 6:58 pm

Сообщение OchkovVF » Вт дек 30, 2003 11:21 am

Вы, по-видимому, не так установили параметры Output во внедренной Excel-таблице. Там по умолчанию стоит A1:A1, а Вам нужно A1:Z25 или что-то другое, охватывающее Ваши данные в таблице. После этого область A1:Z25 превращается в Mathcad-матрицу соответствующего размера, которую легко разделить на Ваши столбцы. Есть и др. варианты передачи данных. Внимание! Может сказаться проблема десятеричного разделителя — , в Excel и . в Mathcad.

Альтернатива — работать через файл на диске (совет Леонида). Дело в том, что далеко не на всех РС стоит одновременно и Mathcad и Excel.

А вообще-то, мне не хочеться Вам отвечать. Вместо «спасибо, но я имел ввиду другое» получаешь Ваше раздражение!


ValeRa_

Сообщения: 5
Зарегистрирован: Пн дек 29, 2003 2:05 am

Сообщение ValeRa_ » Сб янв 03, 2004 9:42 pm

2 OchkovVF

Спасибо, просто я до сих пор не очень понимаю то, как мне из полученой матрицы получить необходимые вектора. Мне именно нехватает знаний по маткаду и это мне мешает продолжить дальше мои расчёты. Учить тоже не времени. Вы бы не могли наочно показать, как выделить эти векторы?


OchkovVF

Сообщения: 585
Зарегистрирован: Вт мар 05, 2002 6:58 pm

Сообщение OchkovVF » Пн янв 05, 2004 9:26 am

V:=M<0> «Вектор V принимает нулевой столбец матрицы M. <> — оператор из набора инструментов работы с массивами (векторами и матрицами)»


Val

Сообщения: 64
Зарегистрирован: Пт окт 17, 2003 6:48 am
Откуда: Южно-Сахалинск
Контактная информация:

Сообщение Val » Чт янв 22, 2004 4:58 am

У меня проблем по этому поводу как-то не возникает: интервал Excel копирую в буфер и в Mathcad»е через обычную вставку такой интервал сам собой становится матрицей, и все!


R.I.

Сообщения: 210
Зарегистрирован: Вс мар 16, 2003 8:01 pm

Сообщение R.I. » Вт фев 17, 2004 3:12 pm

Так и не ясно, получил ли ValeRa_ нужный ответ на свой вопрос.

Оказалось, что для него вставить матицу из Excel вовсе не проблема, а проблема в том, как расщепить ее на векторы-столбцы.

Точный ответ на последний вопрос был дан В.Ф.Очковым:

Автор: OchkovVF

Дата: 05.01.2004 9:26:51

Текст:

V:=M<0> «Вектор V принимает нулевой столбец матрицы M. <> — оператор из набора инструментов работы с массивами (векторами и матрицами)»

Так поступают с каждым выделяемым вектором, вставляя в угловые скобки (вводятся, например, клавишами CTRL+6) в надстрочном индексе матрицы нужный номер (по умолчанию — начиная с 0).

Давая этим векторам имена, далее производим с ними нужные действия.


VFO

Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Сообщение VFO » Пт фев 20, 2004 6:00 pm

Спасибо за ссылку…


Пользователи могут самостоятельно работать с переменными и функциями из разнообразных файловых систем Маткад прямо в своем рабочем листе. Также у них есть возможность оперативно читать данные из программы Excel и использовать ее таблицы в Mathcad.

Данные из других файлов Mathcad.

18.1

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

На скрине ниже вы можете увидеть, что содержит файл CE Data. Это – термодинамические данные. Так, на данный момент в них указана плотность газа и жидкости.

18.2

Обозначение двух из них указаны ниже:

18.3

Данные выражения сейчас размещены в актуальном документе. Их значения взялись из файла CE Data. Теперь пользователь сможет пользоваться данными обозначениями в своем рабочем документе.

Файл FunctionX содержит функцию с именем f(x):

18.4

Теперь попробуем разработать график данной функции в актуальном документе, хоть ее определение указано в совершенно другом файле.

18.5

Включая другой файл Маткад, вы сможете сохранить его прямо с актуальным документом. Для этого активируем опцию «Кэшировать документ», которая находится на вкладке вводавывода.

18.6

Посмотрите, как при этом увеличился размер файла. После внесения изменений в другие файлы Маткад, они не будут автоматически обновляться в рабочей документации. Для этого необходимо кликнуть по иконке «Включить» и найти необходимый файл. Указываем его заново.

Использование PowerPoint в Mathcad. Пользователю предоставляется возможность скопировать изображения из PowerPoint и вставлять их Mathcad. Там их можно переносить и масштабировать по своему усмотрению. Также вы сможете самостоятельно копировать разработанные уравнения и графики из Маткад и ставить их в ПаверПоинт в качестве обычных рисунков.

Чтение данных из Excel. Практика показывает, что достаточно часто люди собирают данные из таблиц в Excel. Впрочем, вы можете перенести их в Маткад в качестве вектора или матрицы и произвести все нужные исчисления. Версия Иксель должна быть как минимум 2003 года. Файлы должны сохраняться в форматировании *.xlsx или *.xls.

Попробуем отобразить данный процесс на визуальном примере.

18.7

Ниже показано построение ЗД графика в Mathcad благодаря найденным данным.

18.8

Переходим во вкладку вводавывода. Кликаем по опции READEXCEL. На экране появляется контекстное меню для поиска файла и ввода диапазона ячеек. Они вскоре будут переведены в Маткад. Присваиваем данной команде наименование переменной (в этой ситуации — z).

Использование Excel в Mathcad. Excel вполне реально пользоваться в Маткад. Для этого попробуем провести эксперимент с векторами 

18.9

Выполняем операцию Excel – Ввод/Вывод –> Компонент Excel –> Вставить компонент Excel:

18.10

Вводим данные в Excel. На образце для наглядности мы трансформировали векторы v и w в ячейки A1:A5 и C1:C5. Кликая по таблице дважды, мы открываем Иксель. Теперь можно здесь работать прямо в этой программе со всеми сопроводительными инструментами. Проводим нужную работу и закрываем программу.

Если вы хотите пользоваться данными Excel в Mathcad, воспользуйтесь нижней частью Excel. Особенно вас должны заинтересовать блоки вывода. Переносим E1:E5 в вектор u.

18.11

Учите, что “excel” должно вводиться в самом нижнем регистре. Диапазон ячеек представлен в виде строки. На примере показан вектор пяти частей, но ваш диапазон может быть любым.

При переносе информации в Эксель, не обязательно устанавливать какой-либо диапазон. Достаточно указать исключительно первую ячейку.

18.12

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

Размер компонентов Excel можно при помощи точек на границе области. Для этого можно добавлять и снимать строки. Когда активирован один из элементов Иксель, на экране появляются две кнопки по углам областей.

18.13

Пользователи могут использовать информацию из Mathcad в Excel. Ниже мы нарисовали два вектора с функцией. Они были адаптированы в Эксель и представлены там в виде графиков.

18.14

Понравилась статья? Поделить с друзьями:
  • Импорт excel word макрос
  • Импорт excel for outlook
  • Импорт excel access программно
  • Импорт csv файлов в utf 8 в excel
  • Импорт csv в excel 2007