Вольфрам построение графиков – Как построить график функции в Wolfram|Alpha

Как построить график функции в Wolfram|Alpha

Начнем с построения простого 2-мерного графика: plot sin(sqrt(7)x)+19cos(x) для x от -20 до 20

Если заменить 7 на (-7), то получим графики действительной и мнимой частей функции: plot sin(sqrt(-7)x)+19cos(x) для x от -5 до 5

В двух предыдущих примерах мы задавали область значений аргумента х. А что будет, если не задавать область значений х?

Одной из уникальных особенностей Wolfram | Alpha является автоматический выбор подходящего диапазона х для построения графиков функций одной и двух переменных, например, как при построении графика этой функции, содержащей функции Бесселя:

Обращаясь к Wolfram | Alpha, чтобы построить график функции, мы всегда используем префикс plot. Если же мы введем какое-либо одномерное выражение без префикса plot, то получим кроме графика функции в прямоугольных декартовых координатах, еще и много других сведений об этой функции.

Сравните:

Кроме того, изображение построенного графика будет крупнее, если вы используете префикс plot.

Одновременно в Wolfram | Alpha можно строить графики нескольких функций.

Если навести мышь на левый нижний угол изображения, то становятся доступными две ссылки: Save as image и Copyable planetext. Рассмотрим такой график:

Первая ссылка Save as image, которая открывается в левом нижнем углу изображения, позволяет сохранить построенный график, как картинку на компьютере пользователя — при нажатии на Save as image автоматически начнется загрузка изображения:

Вторая ссылка Copyable planetext позволяет увидеть код, аналогичный тому, который используется системой Matematica для построения графиков:

Теперь рассмотрим, как в Wolfram | Alpha построить графики функций двух переменных. Начнем с функции 

y^2 cos(x) для x от -6 до 6 и y от -2 до 2

Как и в одномерном случае, Wolfram | Alpha автоматически определяет подходящий диапазон значений аргументов, где функция имеет наиболее характерный вид. В случае, если Wolfram | Alpha не может найти подходящий диапазон, то это скорее всего потому, что система не смогла определить такой диапазон, где функция имеет наиболее интересное поведение. В этом случае, мы можем задать диапазон вручную, как это было сделано выше. Посмотрите следующие примеры:

А что, если вы захотите построить одновременно несколько графиков функций двух переменных?

Wolfram | Alpha строит отдельный график для каждой функции в списке. Вот еще несколько примеров:

Новой функцией Wolfram | Alpha является возможность строить графики действительной и мнимой частей комплексно-значных функций двух переменных:
Во всех рассмотренных выше примерах Wolfram | Alpha строил также и контурные графики (линии уровня) в дополнение к трехмерным графикам (поверхностям). Чтобы увидеть связь между трехмерными и контурными графиками, нужно нажать кнопку “Show contour lines”. Отметим, что и трехмерные и контурные графики используют один и тот же диапазон аргументов.

Все трехмерные графики строятся с помощью функции plot3d системы Mathematica. Контурные графики были сделаны с помощью ContourPlot. В обоих случаях, чтобы увидеть код системы Mathematica для генерации изображения нужно нажать ссылку Copyable planetext в левом нижнем углу нужного изображения.

Источник by Sam Blake

Опубликовано в блоге Web in Math

www.wolframalpha-ru.com

Web in Math: Как строить графики функций в Wolfram

Начнем с построения простого 2-мерного графика: plot sin(sqrt(7)x)+19cos(x) для x от -20 до 20

Если заменить 7 на (-7), то получим графики действительной и мнимой частей функции: plot sin(sqrt(-7)x)+19cos(x) для x от -5 до 5

В двух предыдущих примерах мы задавали область значений аргумента х. А что будет, если мы не будем задавать область значений х?

Одной из уникальных особенностей Wolfram | Alpha является автоматический выбор подходящего диапазона х для построения графиков функций одной и двух переменных, например, как при построении графика этой функции, содержащей функции Бесселя:

Обращаясь к Wolfram | Alpha, чтобы построить график функции, мы всегда используем префикс plot. Если же мы введем какое-либо одномерное выражение без префикса plot, то получим кроме графика функции в прямоугольных декартовых координатах, еще и много других сведений об этой функции.

Сравните:

Кроме того, изображение построенного графика будет крупнее, если вы используете префикс plot.

Одновременно в Wolfram | Alpha можно строить графики нескольких функций.

Если навести мышь на левый нижний угол изображения, то становятся доступными две ссылки: Save as image и Copyable planetext. Рассмотрим такой график:

Первая ссылка Save as image, которая открывается в левом нижнем углу изображения, позволяет сохранить построенный график, как картинку на компьютере пользователя — при нажатии на Save as image автоматически начнется загрузка изображения:

Вторая ссылка Copyable planetext позволяет увидеть код, аналогичный тому, который используется системой Matematica для построения графиков:

Теперь рассмотрим, как в Wolfram | Alpha построить графики функций двух переменных. Начнем с функции 

y^2 cos(x) для x от -6 до 6 и y от -2 до 2

Как и в одномерном случае, Wolfram | Alpha автоматически определяет подходящий диапазон значений аргументов, где функция имеет наиболее характерный вид. В случае, если Wolfram | Alpha не может найти подходящий диапазон, то это скорее всего потому, что система не смогла определить такой диапазон, где функция имеет наиболее интересное поведение. В этом случае, мы можем задать диапазон вручную, как это было сделано выше. Посмотрите следующие примеры:

А что, если вы захотите построить одновременно несколько графиков функций двух переменных?

Wolfram | Alpha строит отдельный график для каждой функции в списке. Вот еще несколько примеров:

Новой функцией Wolfram | Alpha является возможность строить графики действительной и мнимой частей комплексно-значных функций двух переменных:
Во всех рассмотренных выше примерах Wolfram | Alpha строил также и контурные графики (линии уровня) в дополнение к трехмерным графикам (поверхностям). Чтобы увидеть связь между трехмерными и контурными графиками, нужно нажать кнопку “Show contour lines”. Отметим, что и трехмерные и контурные графики используют один и тот же диапазон аргументов.

Все трехмерные графики строятся с помощью функции plot3d системы Mathematica. Контурные графики были сделаны с помощью ContourPlot. В обоих случаях, чтобы увидеть код системы Mathematica для генерации изображения нужно нажать ссылку Copyable planetext в левом нижнем углу нужного изображения.

Источник by Sam Blake

Больше информации по использованию Wolfram|Alpha вы найдете в блоге

web-in-math.blogspot.com

Как построить график функции f(x) по результатам проведенного исследования

В этом посте мы наконец-то построим график функции по результатам проведенного ранее исследования.

В серии постов, посвященной реализации общей схемы исследования функции одной переменной с применением Wolfram | Alpha, мы последовательно прошли целый ряд этапов, действуя так, как если бы мы проводили исследование функции «вручную». Wolfram | Alpha при этом мы использовали, как вспомогательный инструмент — своего рода калькулятор на все случаи жизни. Это позволило нам в значительной степени отвлечься от рутинных вычислений и сосредоточиться собственно на исследовании функции. Без Wolfram | Alpha некоторая часть необходимых вычислений оказалась бы слишком трудоемкой для ручных расчетов, и исследование данной функции показалось бы нам слишком сложной задачей.

Именно это соображение — возможность, невзирая на объемность и трудоемкость рутинных вычислений исследовать любые функции, — главный резон в пользу использования Wolfram | Alpha при решении подобного рода задач. Фактически, без ограничения общности решается прежде всего методическое задание — изучить и научиться применять на практике общую схему исследования функции.

Однако, на практике, при решении прикладных задач, навряд ли кто-либо станет идти таким сложным и запутанным путем, если только имеются иные возможности. А они имеются. По ходу решения, эти возможности я систематически рассматривал, и пытался акцентировать на них ваше внимание: это специфические запросы Wolfram | Alpha, которые позволяют » в один клик» по мере надобности находить все отдельные свойства и характерные точки функции. Подробное изложение «практического» подхода к исследованию функции с помощью Wolfram | Alpha, в отличие от «теоретического», которому мы следовали все это время, будет представлено в одном из следующих постов.

Однако, вернемся к заключительному этапу классической общей схемы исследования функции. Это четвертый этап в общей схеме исследования функции. Цель этого этапа — построить по результатам проведенного выше исследования график функции:


Основные задания четвертого этапа состоят в следующем: используя результаты предыдущего исследования построить график функции f(x). Для этого нам понадобятся результаты всех предыдущих этапов исследования функции.

Это задание, особенно для самостоятельной работы учащихся, требует дальнейшей детализации в виде отдельных заданий:


16.1. Начертить систему координат, учитывая найденные ранее область определения данной функции (см. также: область определения функции в Wolfram | Alpha) и множество значений данной функции (см. также: множество значений функции в Wolfram | Alpha). Эти сведения на данном этапе нужны, чтобы начертить систему координат так, чтобы график функции расположился в ней крупным масштабом и по центру, а не как «очень одинокий петух» в поучительной детской книжке про Карлсона, который живет на крыше 🙂

16.2. Обозначить на оси абсцисс точки разрыва функции. Сведения о точках разрыва были получены при исследовании области определения данной функции.

16.3. Обозначить точки пересечения графика функции с осью абсцисс и точки пересечения с осью ординат.

16.4. Начертить вертикальные, горизонтальные и наклонные асимптоты.

16.5. Обозначить на чертеже с помощью условных обозначений характер поведения функции возле вертикальных асимптот (см. также: изучение разрывных функций).

16.6. Обозначить точки пересечения графика функции с ее асимптотами.

16.7. Обозначить на чертеже точки экстремума функции, угловые точки графика функции (если они есть).

16.8.  Обозначить на чертеже точки перегиба графика функции.

16.9. Начертить график функции с учетом всех обозначений и точек, нанесенных на чертеж. Я не стал здесь этого делать — просто поленился делать это вручную (рисовать график на бумаге, а потом фотографировать или сканировать…). Тем более, что в следующем пункте мы уже получим этот график с помощью Wolfram|Alpha.

17. Проверить визуально правильность построения графика функции, используется запрос: plot f(x) x=a..b, где [a, b] отрезок, который содержит все характерные точки функции, найденные ранее:

plot (5x^7+4x^6-3)/((3+2x-x^2)x^4) x=-3..7

Или запрос asymptotes f(x), который здесь, как и во многих других случаях, выводит более наглядный результат:

asymptotes (5x^7+4x^6-3)/((3+2x-x^2)x^4)

18. Осталось, пользуясь полученным графиком функции, проанализировать геометрические свойства построенного графика (симметрия относительно оси ординат и начала отсчета системы координат и др.) и сформулировать выводы относительно свойств четности-нечетности и периодичности данной функции f(x). Эту часть оставляю вам на самостоятельную проработку.

P.S.
Как я обещал в начале этого поста,  в одном из следующих постов будет представлено подробное изложение «практического» подхода к исследованию функции с помощью Wolfram | Alpha, в отличие от «теоретического», которому мы следовали все это время.

www.wolframalpha-ru.com

Иллюстрированный самоучитель по Mathematica 3/4 › Графика и звук › Двумерная графика. Графическая функция Plot. [страница — 180] | Самоучители по математическим пакетам

Двумерная графика. Графическая функция Plot.

Графика, как важнейшее средство визуализации вычислений, всегда была козырной картой системы Mathematica и во многом способствовала ее высокой репутации как мирового лидера среди систем компьютерной математики. Обширные графические возможности достигаются при небольшом числе встроенных функций графики за счет их модификации с помощью опций и директив. Благодаря этому Mathematica позволяет строить практически любые виды графиков. Для просмотра и изменения опций графика можно (выделив ячейку с графиком) воспользоваться описанным ранее инспектором опций, в котором есть соответствующий раздел. Однако в этом уроке мы инспектором опций пользоваться не будем – все необходимые опции будут вводиться в соответствующие функции так, как это принято делать при программировании задач графики.


Концептуально графики в системе Mathematica являются графическими объектами, которые создаются (возвращаются) соответствующими графическими функциями. Их немного, около десятка, и они охватывают построение практически всех типов математических графиков. Как уже отмечалось, достигается это за счет применения опций и директив.

Поскольку графики являются объектами, то они могут быть значениями переменных. Поэтому Mathematica допускает следующие конструкции:

  • Plot[Sin[x],{x,0.20}] – построение графика синусоиды;
  • g: = Plot [Sin [x], {х, 0, 20} ] – задание объекта – графика синусоиды – с отложенным выводом;
  • g=Plot [Sin [x], {х, 0, 20} ] – задание объекта – графика синусоиды – с немедленным выводом.

Начнем рассмотрение графических возможностей системы с построения простейших графиков функций одной переменной вида у =f(x) или просто f(x). График таких функций строится на плоскости, то есть в двумерном пространстве. При этом используется прямоугольная (декартова) система координат. График представляет собой геометрическое положение точек (х, у) при изменении независимой переменной (абсциссы) в заданных пределах, например от минимального значения xmin до максимального хтах с шагом dx. По умолчанию строятся и линии координатной системы.

Для построения двумерных графиков функций вида f(x) используется встроенная в ядро функция Plot:

  • Plot [f, {x, xmin, xmax}] – возвращает объект, представляющий собой график функции f аргумента х в интервале от xmin до xmax;
  • Plot[{f1, f2,…}, {x, xmin, xmax}] – возвращает объект в виде графиков ряда функций fi.

Функция Plot используется для построения одной или нескольких линий, дающих графическое представление для указанных функций f, f1, f2 и т. д. На рис. 8.1 показано построение графика функции sin(x)/x без использования каких-либо опций (точнее, с набором опций по умолчанию).


Рис. 8.1. Построение двумерного графика

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

samoychiteli.ru

Оцифровка и аппроксимация графиков функций при помощи Wolfram Mathematica и Graph Digitizer / Habr

С задачей оцифровки графиков функций и кривых приходится сталкиваться почти каждому инженеру и студенту. Традиционный «ручной» метод очень неудобен и к тому же вносит большие погрешности в данные. Для единоразовой задачи этот метод не так плох, но если графиков больше чем один и на каждом изображена не одна кривая, а семейство кривых?

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



В качестве примера, я взял график зависимости КПД генератора от его мощности из лабораторного практикума по электротехнике. Входе выполнения работы мной было выполнено сканирование графика, обработка изображения графика, оцифровка координат и построение математической модели кривой.

1. Подготовка изображения


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

Обработку изображений я рекомендую программу Adobe Photoshop. При помощи инструмента Curves добиваемся полноценного контраста, далее при помощи фильтра Smart Sharpen повышаем резкость. Несомненным плюсом Photoshop является возможность обработки большого количества изображений путем записи экшена (Action) и применения его совместно с пакетной обработкой (File – batch processing).

Для большего ускорения процесса обработку можно производить в программе сканирования при помощи заранее заготовленных пресетов или автоматических алгоритмов.


Рисунок 1.1 – Изображение графика До обработки и После обработки

2. Оцифровка координат


Для оцифровки координат я использовал условно-бесплатную программу GetData Graph Digitize версии 2.26. После запуска программы открываем наше обработанное изображение «Файл – Открыть изображение». После открытия, перед нами предстанет стандартное рабочее пространство.


Рисунок 2.1 – Стандартный интерфейс Graph Digitize

2.1. Установка системы координат (СК)


Первое, что нам необходимо сделать – это установить систему координат, т.е. обозначить линии осей. Для этого переходим «Команды – Установить систему координат». Далее зажав ЛКМ находим точку начала координат и кликаем по ней. В появившемся окне вводим значение начала координат (Xmin). Далее аналогично устанавливаем значения Xmax, Ymin и Ymax. Для удобной установки точек необходимо открыть окошко лупы «Вид — Лупа». После установки опорных точек отобразятся линии осей и откроется окно «Параметры Системы координат» в котором можно переназначить значения опорных точек и установить логарифмический масштаб оси.

Для визуального контроля качества установки СК можно отобразить сетку с заданным шагом «Вид – Показывать сетку». В случае корректной установки СК линии сетки должны быть строго параллельны линиям на изображении графика. Стоит отметить, что при сканировании разворотов график часто оказывается в районе сгиба, и одна из осей получается изогнутой. В данном случае корректно установить СК не представляется возможным, поэтому на этапе сканирования следует плотнее прижимать разворот к стеклу.


Рисунок 2.2 – Вид с установленной системой координат и сеткой

2.3. Оцифровка кривой


Приступим к установке точек на графике. Для этого перейдем в режим установки точек (Ctrl+P). В данном режиме клик ЛКМ устанавливает новую точку. Для отображения таблицы координат выбранных точек необходимо перейти «Вид – Окно информации». Для удаления точек используется ластик точек данных «Команды — Ластик точек данных» (Ctrl + E)

По моему опыту большее количество точек необходимо устанавливать в окрестности точек перегиба кривой, на линейных участках кривой можно ограничится небольшим их количеством.

Если на графике присутствует больше чем 1 кривая или семейство кривых, то после установки точек на первой нужно добавить новую линию «Команды – Добавить линию». После чего можно будет выставить точки на второй кривой и т.д.

Если на изображении графика нет сетки, то можно воспользоваться автоматическим алгоритмом трассировки кривой (Ctrl + T). При наличии сетки алгоритм выдает много ошибок.


Рисунок 2.3 – Вид с установленными точками на кривой

2.4. Экспорт данных


Для дальнейшей обработки полученных данных необходимо экспортировать координаты точек в .txt файл или в буфер обмена (удобно в случае если у нас только одна кривая). В программе GetData Graph Digitize экспорт в .txt выполняется вызовом команды «Файл – Экспорт данных» (Ctrl + Alt + E). После нажатия в открывшемся окне предлагается задать путь сохранения и имя файла.Файл с экспортированными даннымиСоздано программой GetData Graph Digitizer 2.26.0.20, дата создания October 01 2017, 21:16,
на основе файла ‘C:\Users\Андрей\Downloads\Статья Хабр\pr-1\IMG.jpg’

Линия #1
0.00000000000000 0.00000000000000
2.36249828804472 0.0100017499987319
4.64890967470313 0.0144478880812405
9.19129768746544 0.0211179194797685
9.25216720857449 0.0255624090127471
13.8097726016141 0.0333435627945197
18.3369432340991 0.0389024718098030
25.1353078729653 0.0477963965243503
27.4217192596237 0.0522425346068590
34.2048665182127 0.0600253369381616
34.2961707998762 0.0666920712376295
38.7929066718068 0.0700287354864236
41.1097528190197 0.0766971183354215
45.6825755923365 0.0855893945004388
52.4657228509255 0.0933721968317414
54.8130037586929 0.102262824447229

61.5961510172819 0.110045626778531
66.1841911708760 0.120049025326793
70.7417965639155 0.127830179108566
73.0282079505739 0.132276317191075
77.6010307238908 0.141168593356092
84.3689606022025 0.147840273304150
86.7010241296927 0.155619778536392
91.3042816635640 0.166734299467899
95.8466696763263 0.173404330866427
98.1635158235393 0.180072713715425
102.721121216579 0.187853867497197
111.805897242103 0.201193930294253
114.137960769594 0.208973435526496
118.710783542910 0.217865711691513
125.478713421222 0.224537391639571
132.277078060088 0.233431316354119
134.578706827024 0.238988576819872
141.361854085613 0.246771379151175
145.904242098375 0.253441410549703
152.733041497796 0.264557580030739
157.275429510558 0.271227611429267
164.058576769147 0.279010413760570
168.616182162187 0.286791567542342
173.158570174949 0.293461598940870
179.926500053261 0.300133278888928
184.468888066023 0.306803310287456
191.236817944335 0.313474990235514
193.538446711271 0.319032250701268
198.050399963478 0.323480037333306
204.818329841790 0.330151717281364
211.571042339824 0.335712274846178
218.323754837859 0.341272832410991
227.332443961997 0.349057283291824
231.844397214205 0.353505069923862
240.883521098898 0.363511765571184
247.621016216655 0.367961200752753
252.117752088585 0.371297865001547
256.629705340793 0.375745651633586
263.367200458550 0.380195086815154
272.375889582689 0.387979537695987
274.647083589070 0.391314553395251
283.625337952654 0.396876759509595
290.393267830965 0.403548439457653
299.371522194549 0.409110645571996
306.139452072861 0.415782325520054
315.132923816722 0.422455654017642
324.095960800028 0.426906737748741
333.089432543889 0.433580066246329
339.842145041924 0.439140623811142
353.317135277438 0.448039494174280
357.829088529646 0.452487280806318
364.566583647403 0.456936715987887
375.770379876536 0.462500570651760
389.230152731773 0.470288318631653
398.208407095357 0.475850524745997
407.156226698386 0.479190486093851
420.615999553624 0.486978234073743
429.609471297485 0.493651562571331
440.798050146340 0.498104294851960
454.242605621300 0.504780920448608
467.641508955428 0.508124178895523
476.574111178180 0.510353017860132
485.537148161487 0.514804101591231
498.951268875892 0.519258482421390
521.282774432772 0.524830579832913
541.388738124103 0.530401028694907
554.802858838508 0.534855409525066
565.961002926809 0.537085897039205
581.600665506764 0.541541926418894
597.225110706442 0.544886833415338
617.331074397772 0.550457282277332
641.872904439924 0.554919905855141
659.722891505151 0.558266461401115
679.828855196482 0.563836910263109
697.678842261709 0.567183465809083
708.836986350010 0.569413953323222
726.671756034959 0.571649386485952
735.619575637989 0.574989347833806
753.454345322938 0.577224780996536
789.139102073114 0.582806769705239
809.214631003891 0.586154973800744
833.741243665765 0.589506474995308
849.335254104888 0.590629137225263
860.508615573467 0.593970747122647
884.989576094510 0.593988881167477
905.065105025286 0.597337085262982
916.223249113588 0.599567572777121
925.125416575785 0.599574166975241
947.350400470724 0.597368407704052
960.734086424575 0.599600543767722
998.598732899469 0.601850813876222
1032.02751302354 0.605208909268906
1052.04217243321 0.604112623831432
1078.74867481980 0.604132406425792
1105.45517720639 0.604152189020153
1121.01875288496 0.603052606483618
1165.49915543539 0.600863332707730
1181.04751373369 0.598652627787951
1192.16000568116 0.597549748152356
1203.27249762862 0.596446868516762
1223.27193965801 0.594239460696043
1234.35399684493 0.590914336293959
1249.91757252350 0.589814753757425
1260.99962971041 0.586489629355341
1274.30722876288 0.583166153502787
1285.40450333007 0.580952151483948
1303.13275135308 0.575409727963965
1316.45556778582 0.573197374494656
1331.98870870383 0.569875547191632
1345.28109037602 0.565440948955834
1360.79901391376 0.561007999269566
1371.88107110067 0.557682874867482
1385.18867015314 0.554359399014928
1396.27072734005 0.551034274612844
1411.80386825807 0.547712447309821
1420.66038357943 0.544385674358207
1431.74244076635 0.541060549956123
1442.82449795326 0.537735425554039
1453.87612037962 0.532188056385466
1467.19893681236 0.529975702916157
1476.05545213373 0.526648929964543
1484.88153269454 0.521099912246440
1498.17391436673 0.516665314010642
1509.24075417337 0.512229067225314
1522.54835322583 0.508905591372760
1533.63041041275 0.505580466970676
1546.90757470466 0.500034746351633
1557.97441451129 0.495598499566305
1564.60538796711 0.492270078065161
1573.44668590820 0.487832182730302
1588.94939206566 0.482288110660789
1599.98579711174 0.475629619108972


В меню «Установки – Параметры» устанавливается формат вывода данных. Там же можно включить сортировку точек по значению координаты X, если на вашей кривой для каждого X существует уникальный Y, для исключения случайных ошибок в последовательности установке точек.


Рисунок 2.4 – Установки экспорта

3. Построение математической модели кривой


В финале выполним аппроксимацию полученных данных и проверим корректность полученной математической модели. Для этого я предлагаю использовать систему компьютерной алгебры Wolfram Mathematica.

Для быстрого импорта данных в Wolfram Mathematica скопируем координаты точек из экспортированного файла и вставим в пустую ячейку Excel. В итоге на листе появятся 2 колонки данных X и Y соответственно.


Рисунок 3.1 – Данные в Excel

Следующим шагом создаем новый документ Wolfram Mathematica и перетягиваем в него файл Excel. В итоге образуется список списков, содержащий координаты точек. Присвоим ему переменную data.


Рисунок 3.2 – Импортированные данные в Wolfram Mathematica

Отобразим импортированные данные при помощи функции ListPlot[].


Рисунок 3.3 – Графическое отображение точек в виде диаграммы разброса данных

Аппроксимируем точки полиномом 5й степени. Для этого используем функцию LinearModelFit[]. В итоге мы получим объект класса FittedModel[]. Присвоим ему переменную fit.

Вычислим коэффициент детерминации R^2, показывающий какую долю вариации (разброса) переменной, объясняет полученное уравнение. Чем ближе данный коэффициент к единице, тем большую долю вариации объясняет уравнение. Для этого в качестве аргумента функции fit укажем «RSquared». В данном случае R^2 = 0.99, это значит, что наша модель объясняет 99,9% вариации переменной.

Для вычисления значения Y необходимо в качестве аргумента к функции fit указать требуемое значение X.


Рисунок 3.4 – Аппроксимация точек, вычисление коэффициента детерминации и вычисление значения функции

Кроме вычисления коэффициента детерминации, проведем регрессионный анализ. В этот раз в качестве аргумента функции fit укажем «ANOVATable». По полученному результату, можно утверждать, что оправданно использование каждого члена аппроксимирующего полинома. Отобразим полученное уравнение в явном виде, для этого к переменной fit применим функцию Normal[].


Рисунок 3.5 – Регрессионный анализ и полином в явном виде

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


Рисунок 3.6 – Итоговый график


Рисунок 3.7 – Сравнение итогового графика с исходными данными

Возможности для анализа математической модели в Wolfram Mathematica воистину огромны, но мы ограничимся представленными выше. Интересующиеся могут узнать больше путем вычисления функции fit[«Properties»].

Вывод:

В итоге мы изучили возможности применения Wolfram Mathematica и Graph Digitizer для оцифровки графиков и подбора математической модели кривой. Использованное программное обеспечение позволяет выполнить поставленную задачу с минимальными усилиями и с высоким качеством.

P.S: В комментариях вкратце можете рассказать часто ли Вам приходится сталкиваться с подобной задачей в вашей деятельности? Буду рад ответить на вопросы.

habr.com

Wolfram mathematica как пользоваться, вольфрам альфа построить график онлайн

После непосредственного проведения КР эксперимента необходимо извлечь информацию из полученных данных не  только качественно, но также и количественно. Для этого обычно применяются такие программные пакеты как PeakFit, Origin и другие. Один из них Wolfram Mathematica.

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

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

Для удобства и исключения каких либо неясностей при пакетной обработке спектров, в программе из имени файла считывается внешний параметр (температура, давление). Оно должно быть специфично — содержать в себе температуру в кельвинах, при которой был проведен данный эксперимент. Само имя файла следует разбить на несколько частей, например с помощью символа «_».

Пример текста программы, написанной в Wolfram Mathematica, для обработки данных КР :

При обработке спектров важную роль играет выбор модели для подгонки контуров. Ниже представлен фрагмент программы, где описывается одиннадцать  функций подгонки, и два коэффициента Бозе – Эйнштейна (nbes, nbeas — для стоксовой и антистоксовой компоненты):

*При использовании в вычислениях физических констант нет необходимости вводить их численное значение. Достаточно в начале программы подключить пакет Physical Constants используя следующую запись:

Самой распространенной и используемой во многих работах, ввиду универсальности, является модель Лоренца.

Wolfram Alpha: вычислитель ответов

Однако при описании низкочастотного диапазона спектра рекомендуется пользоваться функцией подгонки Harmonic (функция затухающего гармонического осциллятора). Кроме того, при работе с функцией Harmonic нет необходимости отдельно учитывать температурный фактор  Бозе – Эйнштейна, ввиду того, что он является одним из составляющих этой функции. Ниже мы опишем два примера программы с использованием моделей для подгонки Harmonic и Lorentz:

1. Пример текста программы с использованием модели подгонки спектров Harmonic:

Полный текст программы:

Описание работы программы по шагам:

Задаем (MyPath) и выбираем(SetDirectory)  директорию, в которой хранится папка с нужными нам файлами с экспериментальными данными

Выбираем тип и расширение файлов (*.txt)

Формируем форму вывода в файл

Здесь задаем модель для подгонки. Условие If присутствует вследствие того, что  для функции Harmonic существует два варианта (для стоксовой и антистоксовой компоненты)

Задаем начальные данные для подгонки первого спектра

i1, v1,w1 – интенсивность, частота и ширина первой линии соответственно

i2, v2,w2 – интенсивность, частота и ширина второй линии соответственно

c, b – параметры базовой линии (наклон и уровень по оси Oy).

Значения Sfrom, Sto, Szero определяют

Sfrom  и Sto – вырезают частотный интервал для подгонки (в данном случае это 0 – 130 cm-1)

Szero – значение на оси ординат, на котором закреплена ось абсцисс.

Далее следует цикл Do, перебирающий по одному файлу iName из указанной папки за один шаг. Выводится название файла

……- начало цикла

— окончание цикла

В данном случае в цикле участвуют файлы с 1 по 100.

В этой строке происходит разбор имени файла на элементы (с помощью двух функций ToExpression и StringSplit) и считывание значения переменной T (температура, давление) из имени файла (iName). Стоит отметить, что имя файла должно быть специфично — содержать в себе температуру в кельвинах, при которой был проведен данный эксперимент. Само имя файла следует разбить на несколько частей, например с помощью символа «_».

Вывод значения T.

Считывание данных из выбранного файла с помощью функции ReadList и присвоение им имени FullData.

Выбираем нужный нам диапазон данных с помощью функции Select и присваиваем ему имя Data.

Функция FindFit является базовой функцией подгонки в Wolfram Mathematica. Максимальное число итераций – 5000.

*Здесь и далее символ /. означает подстановку значений, указанных после этого знака в выражение, стоящее до знака.

Вывод на экран исходных данных (Epilog-> Point [Data]) функцией Plot, полученных линий в отдельности (условие If[]), подогнанного спектра (model/.fit)

AxesOrigin – интервал значений по оси Ox

PlotRange – интервал значений по оси Oy

PlotStyle – совокупность параметров графика

Axes->True – видимость осей

Thickness – толщина линий

AxesLabel – подписи по осям.

Выделение подогнанных значений по точкам (функция Evaluate), соответственно данным из файла (iName).

Вычисляем разницу между подогнанными значениями и экспериментальными данными.

Вывод на экран значения Diff – погрешности подгонки (функция ListLinePlot)

PlotRange – интервал значений по оси Ox

AxesOrigin – точка пересечения осей

FillingAxis – заполнение цветом области под графиком.

Присвоение массиву подогнанных значений имени tmp.

Дополнение массива ResultData массивом tmp на каждом шаге цикла (функция Append).

Вывод на экран массива значений tmp.

Окончание работы цикла.

Вывод на экран полученных значений в табличной форме с помощью функции TableForm.

2. Пример текста программы с использованием модели подгонки спектров Lorentz:

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

Вследствие того, что при использовании модели подгонки Lorentz нужно отдельно учитывать температурный фактор Бозе — Эйнштейна, в тексте программы появился новый фрагмент.

Задается массив чисел с именем BoseFactor. Он заполняется нулями, имеет два столбца и колличество строк такое же, как и у массива FullData.

Задается массив элементов Eva1, который является фактором Бозе — Эйнштейна для стоксовой компоненты спектра (вычисляется для каждой точки массива FullData (массив экспериментальных данных)). Запись x-> FullData [[1; ;,1]] означает, что в выражении Eva1 переменная x принимает все значения первого столбца массива элементов FullData.

Вычисляется массив с именем Diff1с помощью массива Eva1 (фактора Бозе — Эйнштейна). Данная запись означает, что второй столбец массива FullData поэлементно делится на массив факторов Бозе — Эйнштейна.

— присвоение значений каждому столбцу массива BoseFactor. первый столбец  равенпервому стобцу массива экспериментальных данных Fulldata. Второму столбцу присваивается значение Diff1. Diff1 имеет смысл интенсивности в каждой точке экспериментального спектра, домноженную на обратный температурный фактор Бозе — Эйнштейна.

— выбор интересующего нас спектрального диапазона с помощью функции Select. Аналогичная строка присутствует и в тексте программы, представленной в П.1, но исходным массивом там служит массив экспериментальных данных FullData.

Программа, описанная в данном разделе

steptosleep.ru

Изучение разрывных функций с помощью Wolfram|Alpha

Больше года тому назад в этом блоге был опубликован пост о том, как построить график функции в Wolfram|Alpha, который сразу стал очень популярным, и привлек большое количество новых читателей к этому блогу, благодаря большому интересу к теме построения графиков функций.
После этого первого поста были и другие, посвященные построению графиков функций в  Wolfram|Alpha. Например, это Графики функций одной переменной в Wolfram|Alpha, Графики функций двух переменных в Wolfram|Alpha, Сложные» графики в Wolfram|Alpha, Графики функций в лог-линейной системе системе координат  и другие.

Wolfram|Alpha может находить и анализировать точки разрыва функций действительного аргумента. Для этого служит специальный запрос discontinuities.

Кроме поиска разрывов, по запросу discontinuities Wolfram|Alpha будет пытаться вычислить левые и правые пределы в каждой разрыва, а также значение функции в точке разрыва, если оно существует. Чтобы получить эту информацию, нужно нажать кнопку «Show limits».


Как известно, существует три основных типа точек разрыва функций действительного аргумента. Первый тип — это «бесконечный» разрыв, который имеет место в точке, где функция возрастает до бесконечности и/или убывает до минус бесконечности. В точках бесконечного разрыва функция имеет вертикальную асимптоту. Типичный примером может служить функция 1/(х:-1)



Аналогичный результат можно получить и для более сложной функции:


Второй тип разрывов функций — это конечный неустранимый разрыв. Левый и правый пределы функции в точке конечного неустранимого разрыва существуют (конечны), но не равны между собой.  Так, что функция в точке разрыва испытывает «скачок», величина которого равна разности правого и левого пределов функции в точке разрыва. Примером может служить ступенчатая функция Хевисайда, которая находит широкое применение в радиотехнике. В точке х=0 значение функции Хевисайда скачком изменяется на 1:

Комбинация двух предыдущих типов разрывов — точка бесконечного разрыва, в которой один односторонний предел конечный, а другой — бесконечный:


Последний тип разрыва называется «устранимым» разрывом. Это когда в левый и правый пределы в точке разрыва существуют (конечны) и равны между собой, но не равны значению функции в точке разрыва. Простой пример — функция (х — 1)/(х — 1), которая равна 1 всюду, за исключением точки х = 1, где она не определена:

Еще один пример функции, которая имеет устранимый разрыв в точке х=1:

Еще один стандартный пример устранимого разрыва:

   

Представляет также интерес изучение непрерывности функции sin(1/x), которая имеет в точке х=0 разрыв, который является сложным для классификации. Обратите внимание, что эта функция не определена в точке 0, а кроме того левый и правый пределы функции в точке 0 не существуют, хотя и не являются бесконечными. Неудивительно, что Wolfram|Alpha не выдает никакого заключения относительно классификации данного разрыва:


Функция, заданная параметрически имеет разрывы в тех точках, где терпит разрыв хотя бы один из ее компонентов:



Отыскание точек разрыва функций комплексного переменного является более сложной задачей. В настоящее время Wolfram|Alpha успешно определяет полюсы. Этот вопрос уже рассматривался в посте Ряды Лорана в Wolfram|Alpha или Кто читает Wolfram|Alpha по-русски. Здесь приведу лишь один пример, сравните:

Как видим, запрос discontinuities, который предназначен для исследования разрывности функций действительного переменного, дает ответ, что данная функция непрерывна.

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

Таким образом, для исследования разрывов функции действительного аргумента в Wolfram|Alpha следует использовать запрос discontinuities.

См. также: Wolfram|Alpha.

www.wolframalpha-ru.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *