Ru-Board.club
← Вернуться в раздел «Программы»

» Mathematica (математика)

Автор: xy
Дата сообщения: 01.12.2003 15:00
Wolfram Mathematica 10

Тема по лечению



Здесь обсуждаем вопросы языка Mathematica и программы, которая ИМХО лучше других выполняет свою задачу и, кроме, того очень точно соответствует своему названию, хотя там не забыли и про физиков и химиков и всех остальных:)
Автор: catbegemot
Дата сообщения: 09.02.2004 09:28
Тема хорошая, только дохлая... Кстати, вот у меня проблема - есть база данных на CodeBase, есть список финансовых инструментов (ISINs) - как получить данные из Bloomberg Terminal и занести их в CodeBase?

Кто нибудь знает?
Автор: melihron
Дата сообщения: 24.04.2005 14:37


Цитата:
Лично мне интересно где можно найти инфу по созданию Пакетов, т.к. их синтаксис значительно может отличаться от того, что видно в НоутБуках + другие особенности

Во-первых и в самых главных, синтаксис пакетов с простейшими примерами описан в системе помощи самой "Математики" ([F1]/Add-ons&Links/Standart Packages/Appendix: How Mathematica.../Advanced Topic: Basic New Packages...).
Во-вторых, этот синтаксис описан во многих книгах, посвященных обсуждаемому пакету, в частности, в книгах Дьяконова.
В-третьих, можно просто поковыряться в стандартных пакетах (файлы с расширением m), и узнать много нового

Цитата:
Кстати, вот у меня проблема - есть база данных на CodeBase, есть список финансовых инструментов (ISINs) - как получить данные из Bloomberg Terminal и занести их в CodeBase?

А как это к "Математике" относится?

Автор: ShaLun
Дата сообщения: 30.05.2005 05:48
По-моему, в метематике есть глюк и я его недавно обнаружил.
Проверьте:
1.) Запустите математику
2.) Вставьте следующие строки каждая в свою ячейку:
a^(-s)/2+a^(1-s)/(s-1)+2*Integrate[(a^2+y^2)^(-s/2)*Sin[s*ArcTan[y/a]]/(Exp[2Pi*y]-1),{y,0,Infinity}]/.{s->-2,a->6}

((2^(-1-k)*(-((2-a+b)^k*(-1+a-b+k))+(a-b)^k*(1-a+b+k)))/(1+k)+Integrate[(-1+Coth[Pi*y])*(-(((a-b)^2/4+y^2)^(k/2)*Sin[k*ArcTan[(2*y)/(a-b)]])+((2-a+b)^2/4+y^2)^(k/2)*Sin[k*ArcTan[(2*y)/(2-a+b)]]),{y,0,Infinity}])/.{a->2,b->5,k->2}

a^(-s)/2+a^(1-s)/(s-1)+2*Integrate[(a^2+y^2)^(-s/2)*Sin[s*ArcTan[y/a]]/(Exp[2Pi*y]-1),{y,0,Infinity}]/.{s->-2,a->6}

3.) Выполните их по очереди
У меня получилось, что первая дает -55, вторая 13/3, третья -54. Но ведь первая и третья одинаковы.
Автор: eriik
Дата сообщения: 30.05.2005 09:44
ShaLun
Первая дает -54, а вторая вообще не вычислятся (повторные ошибки деления на ноль).
-55 не получается ну никак. Проверял и в командной строке, и во фронтенде - один черт.
Версия 5.1 под Windows, XPSP2, AXP2600+, 512RAM.

Можно проверить порядок In/Out, сбросить переменные, может еще что...

В общем, я доволен математикой. Обычно "долгие" расчеты компилирую в фортране и линкую матлинком как внешние функции. Главное преимущество перед MAPLE - article-ready рисунки, ни одного зависания/BSOD/закрытия с потерей данных, офигительно удобный ввод в "Traditional Notation", да и вообще пошустрее будет.
Автор: ShaLun
Дата сообщения: 31.05.2005 05:43
Моя версия 5.0.1.0
Переменные никакие не назначены, так как математика только что запущена.
Могу скриншот кинуть. http://progun.hotmail.ru/gluk.png
Автор: eriik
Дата сообщения: 31.05.2005 18:44
Ну не знаю блин, вводил то же что и у тебя, но -55 НЕ ПОЛУЧАЕТСЯ ну никак! Может математический сопроцессор глючит?
Автор: ShaLun
Дата сообщения: 01.06.2005 04:49
А правильный ответ, кстати, -55
Автор: eriik
Дата сообщения: 04.06.2005 20:09
Кажется что в maple что в mathematica должна была специальная процедура для вычисления несобственных интегралов с экспонентой в знаменателе... Помню что где-то уже видел, но сходу точно сказать не могу.
Автор: maidenmarion
Дата сообщения: 11.11.2005 08:39
Блин, подскажите пожалуйста работоспособную сссылку на эту математику версии не ниже 4, а то регистриться надо а регистрация на мэил не приходит, или ссылки битые..
Автор: skyangel27
Дата сообщения: 27.11.2005 12:44
ктото знает с как можно решать алгебру буль?


naprimer uprostit' etot primer
abc'+a'b+ac'+b'c+a'b'c+b'c'+a'b'
Автор: terminat0r
Дата сообщения: 21.04.2006 13:00
мне интересно- работает кто-то с ней под линуксом?
есть несколько вопросов по настройке
Автор: Pavel80
Дата сообщения: 05.05.2006 23:36
Всех кого интерисует проблема вейвлетов прошу сюда
Автор: Andrei_Latyshau
Дата сообщения: 26.05.2006 18:49
У меня вопрос по математике.
В результате вычислений у меня получается матрица огромных размеров. Математика вырубается при попытке рендеринга этой матрицы. Причем только в тот момент, когда я скроллирую к графику (ListContourPlot). Т.е. если свернуть математику, то все просчитается, а если попытаться посмотреть, то все зависает (именно при рендеринге картинки).

Как избавиться от этого? Возможно, можно где-то задать кол-во памяти, которую математике можно использовать?

Мне был дан ответ (в другой "неправильной" ветке):

Eaglevil:

Цитата:
Во-первых, это вопрос больше не в варезник, а в программы...
Во-вторых, что значит "вырубается"? Да и в какой операционной системе?
В-третьих, памяти Mathemathica использует столько, сколько ей надо, ограничивается это только операционной системой, размером ОЗУ и размером swap-а. Т.е. если не высвечиваются надписи аля "Нехватка виртуальной памяти", то памяти по-идее математике хватает и проблема вероятно не в этом.
В-четвертых, в математике в настройках (Options for Global Preferences) есть раздел Graphics Options, а в нем RenderingOptions. Попробуй там что-нить поменять/убрать, может что-то выплывет;)
А, и проявляется ли этот глюк в некрякнутой (триальной) версии?



Вобщем, подходящих опций я не нашел.


Добавлено:
Да, уточняю..

вырубается - в смысле, без каких либо сообщений закрывается ничего не сохраняя..
ну вырубается, короче

операционная система - win XP;

Памяти у меня физически хватает. Просто математика похоже на java написана (кернел), возможно частично. А у java можно выставлять max колво памяти, выше которой машина никогда не выделит (если не хватает -- выход без предупреждений). Для это еще есть спец параметр что-то типа такого:
-Xms256m -Xmx512m
Может дело в этом, но не нашел в опциях, где можно выставить подобные параметры.



Добавлено:
>>
у меня крякнута математика 5.0.0.0
Автор: Eaglevil
Дата сообщения: 26.05.2006 22:31

Цитата:
Просто математика похоже на java написана (кернел)
С чего ты взял что она на яве написана?
Ни Mathemathica, ни уж тем более kernel, написаны не на Java, и даже не частично... иначе ТАК тормозило бы... Максимум на яве некоторые аддоны написаны, ты их используешь?
Попробуй версию 5.2, вероятно уже могли исправить... или хотя бы выложи файлик на котором Mathemathica вылетает, чтобы кто-нибудь попробовал.
Автор: irych
Дата сообщения: 27.05.2006 07:09
Есть ли среди нас тестеры Wolfram Workbench Prerelease?
http://www.wolfram.com/solutions/workbench/
У меня пара вопросов по этой IDE
Автор: Andrei_Latyshau
Дата сообщения: 29.05.2006 12:41
Eaglevil

Цитата:
С чего ты взял что она на яве написана?
Ни Mathemathica, ни уж тем более kernel, написаны не на Java, и даже не частично... иначе ТАК тормозило бы...


я не знаю, просто предполагаю.. я юзаю математику через JLink..
java - на мой взгляд прекрасная технология для такой вещи как кернел математики.. по поводу тормозов - абсолютно не обоснованно

а вот какая папка есть в математике:
Wolfram Research\Mathematica\5.0\SystemFiles\Java\Windows\bin\

это j2sdk версии 1.4.1_03
просто так весь j2sdk в дистрибутив не кладут

вплоне возможно, что самая сердцевина написана непосредственно на java, для того чтобы не переписывать код (алгоритмы) под разные платформы.. меняется только frontend и всякие линки
Автор: Eaglevil
Дата сообщения: 30.05.2006 00:09
Andrei_Latyshau

Цитата:
java - на мой взгляд прекрасная технология для такой вещи как кернел математики.. по поводу тормозов - абсолютно не обоснованно
Java, конечно, прекраснейшая технология. Но для обоснования т.н. тормозов вполне достаточно что она интерпретируема, ну точнее just-in-time компилируема, но это сути не меняет;) Такой подход в таком деле как математические вычисления просто не выдержит конкуренции со стороны других мат. пакетов.
Да и Математика разрабатывается то с 80-х годов, тогда явой и не пахло...

Цитата:
просто так весь j2sdk в дистрибутив не кладут
Ну не весь J2SDK там, а J2RE... с добавленным туда компилятором, сервером и некоторыми библиотеками. Ну лежит, разумеется не просто так, а потому что "на яве некоторые аддоны написаны", и больше в самой математике ты .class либо .jar файлов не найдешь...

Цитата:
вплоне возможно, что самая сердцевина написана непосредственно на java
"Сердцевина" математики (kernel) написана не на яве, поверь человеку, который её дизассемблировал... Например, под винду kernel представляет собой набор простых DLL, откомпилированных 7-ым Visual C++.

Цитата:
чтобы не переписывать код (алгоритмы) под разные платформы
"Алгоритмы" в большинстве не используют платформенно-зависимый API, поэтому с незначительными изменениями или без них легко перекомпилируются под любую платформу.

Ладно, что-то это уже немного офф-топ... Так выложи тот файлик, на котором Mathemathica вылетает, аж интересно
Автор: Andrei_Latyshau
Дата сообщения: 30.05.2006 17:03
Eaglevil

Цитата:
Ладно, что-то это уже немного офф-топ... Так выложи тот файлик, на котором Mathemathica вылетает, аж интересно


Это не единственный случай когда у меня математика вылетает. Скорее всего это изза того, что версия пиратская. Выложу немного попозже - сейчас очень занят дипломом, через два дня сдавать ((

Самое прикольно от того вылетания было то, что считала она мне те данные около 9ти часов )
Я тогда еще подобавлял, чтобы она все расчеты экспортила в файл.. Так она потом эти файлы поднять не может (мегабайт 15 где-то данных) ((

Так что контоур плот для массива в 15000 элементов я так и не посмотрел ))
Автор: Eaglevil
Дата сообщения: 30.05.2006 21:53

Цитата:
Это не единственный случай когда у меня математика вылетает

Цитата:
считала она мне те данные около 9ти часов
Не, выкладывай тот файлик, который быстрее считается, точнее не считается
Автор: eriik
Дата сообщения: 05.06.2006 10:53
Пацаны, а знаете такой ключик "-b" ?
Если его поставить в ярлык как
(C:\Program Files\Wolfram Research\Mathematica\5.2\Mathematica.exe" -b)
либо в типыфайлов:NB:Дополнительно:OpenWithMathematica:Изменить как
("C:\Program Files\Wolfram Research\Mathematica\5.2\Mathematica.exe" -b "%1")
то Математика запускается без попап-баннера и в два раза быстрее (т.е. практически мгновенно- не в пример 10-ой мапле).

В мануале такого ключика не нашел, честно искал и в справке, и на сайте, и в гугл.
Выручил ИДА

p.s. Никто не в курсе, когда новые релизы ожидаются?
Автор: popkov
Дата сообщения: 18.06.2006 02:53
В версиях 5.1 и 5.2 обнаружил следующий глюк интерфейса: иногда при открытии блокнота попытка запуска записанной там программы (не важно, какой - постоянно происходит с любыми) стандартным способом: помещением курсора внутри текста программы и нажатием Shift+Enter - не приводит к запуску, хотя программа до этого работала. Единственным (и, кстати, работающим) способом преодоления этого глюка оказался следующий: вставить в определённом месте программы (например, внутри комментариев) пробел или удалить его там - или вставить, а потом его удалить - и программа запускается! Очевидно, он имеет отношение только к самому интерфейсу, а не к ядру системы, но очень неприятно. Иногда приходится несколько попыток сделать, чтобы найти такое место внутри комментариев (или ещё где-то, но не внутри формул, комментариев достаточно), где нужно вставить или удалить пробел! Раздражает это! Нет ли какого-то способа полной ликвидации проблемы? Почему об этом нигде не пишут, и она кочует из версии в версию?
ОС: Windows 2000 SP4 RUS. Комментарии пишу по-русски (но вряд ли это важно).
Автор: eriik
Дата сообщения: 18.06.2006 10:01
Пример в студию! Выложи nb с эксплойтом на рапидшаре, чтоб люди могли посмотреть. А не пишут потому наверное, что никто ни разу не сталкивался с подобным.
Автор: popkov
Дата сообщения: 18.06.2006 16:48
eriik
Вот пример:

Цитата:
Your file Primer.rar (2 KB) is now online.
Your Download-Link: http://rapidshare.de/files/23402106/Primer.rar.html

Создан в Mathematica 5.1 (глюк наблюдался), потом дорабатывал программку после установки версии 5.2 - то же самое! Глюк в следующем: после открытия ставим курсор внутри кода в первой части программы, нажимаем Shift+Enter - и результат его выполнения (сохранён, идёт сразу после первой программы) исчезает! Повторные нажатия Shift+Enter (с или без повторной постановки курсора в текст первой программы) даже не приводят к изменению номера в In(1), который появляется после первого запуска кода. Если поставить курсор в текст второй программы и нажать Shift+Enter - там тоже появляется In(1) - то есть номер тот же! Сохранённый результат выполнения второй программы при этом не исчезает! Если ещё раз это проделать со второй программой - там появляется In(13) вместо In(1). Если теперь вернуться к первой программе, то при её запуске In(1) меняется на In(25), но толку никакого!
Теперь внутри первого комментария со словом Метанол удаляем последний пробел (или добавляем пробел), запускаем - и всё получается! Результат выполнения программы идентичен сохранённому (он правильный).
Автор: eriik
Дата сообщения: 18.06.2006 20:18
Правильно ли я понял, что ошибка выскакивает только когда в одной скобке идут два комментария подряд? Так не надо ставить два коммента подряд в одной ячейке! А если очень надо, то можно объединить их в один, оставив только открывающую и закрывающую скобку. А лучше вообще без нужды их не вставлять в активных ячейках.

Бегло пробежался по MathGroup - ошибки с комментариями появляются время от времени во FrontEnd'е начиная с 3-ей версии. Скорее всего, то что глючит сейчас - просто ошибка в каком-то патче на другую ошибку связанную с обработкой комментариев.

А вообще молодец что заметил! Действительно, очень редкая ситуация, у меня к примеру ни разу не встречалась.
Автор: popkov
Дата сообщения: 20.06.2006 15:47
eriik

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

Если бы! Она периодически появляется, даже если вообще в данной ячейке нет ни одного комментария! И выходом из положения, опять же, является добавление комментария и манипуляции с пробелом в нём!

Ну а описанный мной глюк на примере выложенного файла на твоей машине наблюдается?

Добавлено:

Цитата:
А вообще молодец что заметил! Действительно, очень редкая ситуация, у меня к примеру ни разу не встречалась.

К сожалению, на моей машине это отнюдь НЕ РЕДКАЯ ситуация, постоянно даёт о себе знать!
Автор: eriik
Дата сообщения: 20.06.2006 19:01

Цитата:
Она периодически появляется, даже если вообще в данной ячейке нет ни одного комментария!

Ну а такое то как возможно? Что же ты с ней бедной делаешь?
Глюк проверял, он РАБОТАЕТ, насоздавал 20+ файлов с различными возможными комментариями. Проявляется та же ерунда что и у тебя, НО, как я уже сказал, ТОЛЬКО если идут два коммента подряд! Я их и так и сяк пробовал вставлять, и пустыми, и с разным числом пробелов, и русские, и греческие, и с нижними и верхними индексами, и несколько подряд, и в разброс, и в TraditionalForm. Совсем без комментов таких проблем не возникало НИ РАЗУ. Либо я что-то делаю не так...

p.s. С многолистными функциями когда-нибудь работал (ну там arg/arctan, sqrt(z))? Может слышал про какие-то пакеты для этого дела? А то меня дико бесит, что встроенные функции только по главным значениям считают... И кругом фазы скачут
Автор: popkov
Дата сообщения: 20.06.2006 20:05

Цитата:
Ну а такое то как возможно?

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

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


Цитата:
С многолистными функциями когда-нибудь работал (ну там arg/arctan, sqrt(z))?

Пока нет, видимо, к счастью. Только с полиномами и матрицами.
Автор: netrsasha
Дата сообщения: 14.09.2006 14:41

Цитата:
В общем, я доволен математикой. Обычно "долгие" расчеты компилирую в фортране и линкую матлинком как внешние функции.


Как я понял можно в Математике создать вычислительные модули и откомпилировать?
Как это делается?
А можно с помощью Математики DLLки сделать? (Что бы в другой программе использовать вычислительные модули, созданные в Математике)
Автор: LightRay
Дата сообщения: 16.11.2006 13:05
Подскажите, пожалуйста, как организовать расчет в Математике. Задача такая: нужно последовательно решить системы диффуров, причем коэффициенты каждой следующей системы зависят от решения предыдущей. При попытке сделать это "в лоб", засунув в цикл sol=NDSolve, используя Evaluate[/.sol] и подставляя результат в уравнение на следующей петле цикла, ничего не выходит.

Добавлено:
Вроде бы разобрался.
Суть в следующем: в такой ситуации нужно создавать промежуточную чиловую табличку, чтобы избежать зацикливания программы. Используем последовательно: sol=NDSolve[...]; f=Evaluate[/.sol]; ipt=Table[{t,f[t]},...]; rec=Interpolation[ipt]; func=rec[t]; и вот уже rec[t] можно подставлять в следующую петельку цикла.

Страницы: 12345678910111213141516171819202122232425262728293031323334

Предыдущая тема: Идея несуществующей программы...


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.