2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Mathematica. Интегрирование, интерполяция и ед. измерения
Сообщение26.01.2016, 07:36 
Аватара пользователя


20/06/14
236
Здравствуйте, у меня есть следующие данные (зависимость молярной теплоёмкость воды от температуры воды):
Код:
list = {{0., 4.217}, {1., 4.213}, {2., 4.21}, {3., 4.207}, {4., 4.205}, {5., 4.202}, {6., 4.2}, {7., 4.198}, {8., 4.196}, {9., 4.194}, {10., 4.192}, {11., 4.191}, {12., 4.189}, {13., 4.188}, {14., 4.187}, {15., 4.186}, {16., 4.185}, {17., 4.184}, {18., 4.183}, {19., 4.182}, {20., 4.182}, {21., 4.181}, {22., 4.181}, {23., 4.18}, {24., 4.18}, {25., 4.18}, {26., 4.179}, {27., 4.179}, {28., 4.179}, {29., 4.179}, {30., 4.178}, {31., 4.178}, {32., 4.178}, {33., 4.178}, {34., 4.178}, {35., 4.178}, {36., 4.178}, {37., 4.178}, {38., 4.178}, {39., 4.179}, {40., 4.179}, {41., 4.179}, {42., 4.179}, {43., 4.179}, {44., 4.179}, {45., 4.18}, {46., 4.18}, {47., 4.18}, {48., 4.18}, {49., 4.181}, {50., 4.181}, {51., 4.181}, {52., 4.182}, {53., 4.182}, {54., 4.182}, {55., 4.183}, {56., 4.183}, {57., 4.183}, {58., 4.184}, {59., 4.184}, {60., 4.185}, {61., 4.185}, {62., 4.186}, {63., 4.186}, {64., 4.187}, {65., 4.187}, {66., 4.188}, {67., 4.188}, {68., 4.189}, {69., 4.189}, {70., 4.19}, {71., 4.19}, {72., 4.191}, {73., 4.192}, {74., 4.192}, {75., 4.193}, {76., 4.194}, {77., 4.194}, {78., 4.195}, {79., 4.196}, {80., 4.196}, {81., 4.197}, {82., 4.198}, {83., 4.199}, {84., 4.2}, {85., 4.2}, {86., 4.201}, {87., 4.202}, {88., 4.203}, {89., 4.204}, {90., 4.205}, {91., 4.206}, {92., 4.207}, {93., 4.208}, {94., 4.209}, {95., 4.21}, {96., 4.211}, {97., 4.212}, {98., 4.213}, {99., 4.214}, {100., 4.216}};
Я добавляю к этим данным единицы измерения и интерполирую:
Код:
f = Interpolation@MapAt[Quantity[#1, ("Kilojoules")/("Kelvins" "Moles")] &, MapAt[Quantity[#1, "DegreesCelsius"] &, list, {;; , 1}], {;; , 2}];
Теперь интегрирую двумя способами:
Изображение
Надеюсь на Вашу помощь. Есть идея, что подобное поведение в первом случае связано с разной точностью у входных данных, т. к.:
Изображение

 Профиль  
                  
 
 Re: Mathematica. Интегрирование, интерполяция и ед. измерения
Сообщение26.01.2016, 16:15 
Заслуженный участник


25/02/11
1797
Тут скорее всего проблема в том, что пределы интегрирования не являются числовыми величинами. И вообще, зачем такие сложности, чем не устраивает безразмерная функция f = Interpolation[list]?

 Профиль  
                  
 
 Re: Mathematica. Интегрирование, интерполяция и ед. измерения
Сообщение26.01.2016, 16:30 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
...которая (проверил) в данном случае никаких ошибок при интегрировании не пишет.

 Профиль  
                  
 
 Re: Mathematica. Интегрирование, интерполяция и ед. измерения
Сообщение27.01.2016, 08:58 
Аватара пользователя


20/06/14
236
Ответ «делать по другому» самоцелью создания темы не был. Я планировал услышать что-то подобное:
    — вы всё делаете неправильно, правильно так: ...
    — вы всё делаете правильно, это баг...
    — вы делаете правильно, но есть такая особенность: ...
Vince Diesel, ранее использовал первый вариант синтаксиса (с размерными пределами интегрирования) и получал удобоваримый ответ, касательно безразмерной функции тут у меня несколько соображений: мне удобно пользоваться единицами измерений; я заплатил деньги за использование ед. измерений; мне интересно разобраться с подобным поведением программы.

 Профиль  
                  
 
 Re: Mathematica. Интегрирование, интерполяция и ед. измерения
Сообщение27.01.2016, 09:04 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Qazed, раз уж здесь все такие злые :roll:, попробуйте поспрошать в этом ВК-сообществе (не помню, упоминал ли я раньше о нём в вашем присутствии; там есть несколько очень крутых специалистов).

 Профиль  
                  
 
 Re: Mathematica. Интегрирование, интерполяция и ед. измерения
Сообщение27.01.2016, 09:25 
Аватара пользователя


20/06/14
236
Спасибо, Aritaborian, у меня был опыт задавания подобных вопросов в этом сообществе. «Крутые специалисты» их игнорируют (как правило), стандартный ответ от других участников: «делайте по-другому», — после чего они предложат работающий (выше уже был предложен), но другой (выше) вариант кода. Да и аккаунта в ВК у меня уже нет. Попробую обратиться в Mathematica Stack Exchange.

 Профиль  
                  
 
 Re: Mathematica. Интегрирование, интерполяция и ед. измерения
Сообщение27.01.2016, 13:56 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Не стоит закавычивать и тем самым оскорблять крутых специалистов, Qazed. В упомянутом сообществе на самом деле есть и сертифицированные инструкторы и даже самые что ни на есть разработчики ядра Wolfram Mathematica. И они охотно и порою очень подробно отвечают на вопросы. Да, не на все вопросы. Это коммьюнити не является официальной техподдержкой и существует на добровольных началах. Причины, по которым вам не ответили, могут быть разными.
Qazed в сообщении #1094568 писал(а):
Да и аккаунта в ВК у меня уже нет.
Завести новый — не проблема.
Qazed в сообщении #1094568 писал(а):
Попробую обратиться в Mathematica Stack Exchange.
А вот это — очень хорошая идея.

 Профиль  
                  
 
 Re: Mathematica. Интегрирование, интерполяция и ед. измерения
Сообщение28.01.2016, 03:54 
Аватара пользователя


20/06/14
236
Aritaborian, я и не думал подвергать сомнению чьи-то умственные способности, ей-боху об этом не думал и уж тем более так не считаю. Моя ирония заключалась в том, что «крутые специалисты» (я цитирую вас) нечасто отвечают на подобные вопросы, следовательно от их квалификации качество ответа мало зависит.
Единственный случай ответа мне оного был следующим. Сертифицированный специалист ответил, но его решение решением не оказалось, я сообщил об этом с указанием того, что проблема не решена и повторно попросил помощи. Никакой реакции от специалиста не последовало. Решение мне подсказали другие участники, но оно было принципиально другим.

 Профиль  
                  
 
 Re: Mathematica. Интегрирование, интерполяция и ед. измерения
Сообщение27.08.2016, 19:00 
Аватара пользователя


20/06/14
236
Кажется в таких случаях пишут что-то вроде "UPD", излаживаю свои изыскания кратенько...

В версии 11 кое-что починили:
Изображение
Кое-что испортили:
Изображение
Так испортили, что должно быть стыдно: Plot Functions Using Units
Изображение
Хвалёные возможности по перепроверке ответов. Как известно, Mathematica предпочитает вообще ничего не отвечать, чем давать неверный ответ.
Изображение
P. S. Зато теперь может построить график тангенса с нормальными разрывами.
P. P. S. За это просят деньги.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group