Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Wolfram Mathematica | Математика

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Открыть новую тему     Написать ответ в эту тему

xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wolfram Mathematica 14

Загрузка и поиск "лекарств"в "Варезнике"


 
Здесь обсуждаем вопросы языка Mathematica и программы, которая ИМХО лучше других выполняет свою задачу и, кроме, того очень точно соответствует своему названию, хотя там не забыли и про физиков и химиков и всех остальных:)

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 16:00 01-12-2003 | Исправлено: zAlAn711, 18:21 10-01-2024
Gittle_Leya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди,помогите,кто может.Такая проблема: использую NMinimize и в нем в качестве одного из условий записан текст функции (иначе не получается), так вот, нужно,чтобы это условие вычислялось только тогда,когда будет найдено конкретное значение переменных,а не в общем виде, иначе просто не хватает памяти.Пробовала с помощью Evaluate задать порядок вычисления, но,видимо, для такого случая оно не работает
Подскажите,плиз,что делать.
Для наглядности хоть на таком примере вида:
NMinimize[{
    x1^2 - (x2 - 1)^2, (Print["x1=", x1, " x2=", x2];
     x1^2 + x2^2 <= 4)}, {x1, x2}]
 
(т.е. нужно, чтоб условия с выводом применялись уже для каких-то конкретных значений переменных)
 

Всего записей: 1 | Зарегистр. 15-11-2009 | Отправлено: 22:17 15-11-2009
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Для наглядности хоть на таком примере вида:  

Пример не слишком нагляден. Непонятно, зачем внутрь минимизируемой функции засовывать Print[]?!  
Тем не менее, даже такую кривую задачу можно решить, например, так:
f[x1_?NumericQ, x2_?NumericQ] := (Print["x1=", x1, " x2=", x2];
  x1^2 + x2^2 <= 4; x1^2 - (x2 - 1)^2)
NMinimize[{f[x1, x2]}, {x1, x2}]
Понимаю, что это почти бред, но интерпретировать вашу задачу разумным образом крайне сложно. Если функция просто должна выдавать разные значения в зависимости от аргументов - используйте кусочно-заданные функции. Если нужно печатать промежуточные значения - отталкивайтесь от моего решения или используйте EvaluationMonitor.  
А вообще, свою цель следует формулировать яснее...

Всего записей: 1835 | Зарегистр. 22-03-2003 | Отправлено: 19:53 21-11-2009
Griefin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такой вопрос насчет вычисления функций, которые переданы как параметр. Простой пример: хочу написать функцию ExportFunction, которая строит и экспортирует массив в формате x,y. В качестве аргумента у нее будут произвольная функция f[..., x,...], ее аргумент x, интервал и еще какие-то параметры.
 
ExportFunction[f_, {x_, x1_, x2_, n_}, file_] := Export[file, Table[{p, f /. x->p}, {p, x1, x2, (x2 - x1)/n}] // N, "Table"]
 
Такой код проходит для простых функций. Однако, если функция f достаточно сложная, например, содержит аргумент как предел численного интегрирования, то этот код не работает. Если не передавать функцию в качестве аргумента, а делать все руками на встроенных функциях:
Export["filename", Table[{x,f}, {x, x1, x2}]]
то все нормально. Вопрос: как нужно вычислять функцию, передаваемую в качестве параметра? HoldAll[f] /. x->p, Block[{x=p}, f] не помогают.

Всего записей: 759 | Зарегистр. 19-07-2003 | Отправлено: 06:29 22-11-2009 | Исправлено: Griefin, 08:18 22-11-2009
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Griefin
А если завернуть эту функцию в Evaluate[]?

Всего записей: 1835 | Зарегистр. 22-03-2003 | Отправлено: 12:52 22-11-2009
Griefin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Evaluate тоже не помогает, по-прежнему сыпятся ошибки о нечисловом пределе в NIntegrate. По идее, нужно так, чтобы ReplaceAll не делала над функцией никаких преобразований, а просто подставляла итератор таблицы вместо аргумента. Посмотреть бы как реализована функция Plot, ведь она фактически делает то же самое.

Всего записей: 759 | Зарегистр. 19-07-2003 | Отправлено: 17:05 22-11-2009 | Исправлено: Griefin, 17:11 22-11-2009
valeryvb

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые!
Глупый (?) вопрос по Математике
 
Можно ли сделать так, чтобы выражения (уравнения) можно было вводить в естественном (математическом) виде - так, как на сайте WolframAlpha
 
Например, y'(x)=sin y(x), y(0)=1
 
Дальше Enter и решение на экране y(x)=2 arccot...

Всего записей: 6 | Зарегистр. 27-02-2009 | Отправлено: 10:45 25-11-2009
S4astliff4ik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Приветствую!!! Ребят,а есть какие-нибудь проги по решению :
 
1. Найти наименьшее и наибольшее значение функции f(x,y) в замкнутой области D , заданной системой неравенств...
2. В повторном интеграле изменить порядок интегрирования...
3. Найти момент инерции плоской однородной пластинки D относительно оси ОХ . При вычислении двойного интеграла перейти к полярным координатам....
4. С помощью тройного интеграла вычислить объём тела G ,заданного неравенствами...
5. Найти дивергенцию и ротор векторного поля ,задаваемого векторным произведением...
6. Вычислить криволинейный интеграл по замкнутому контору L,пробегаемому против часовой стрелки двумя способами : непосредственно и по формуле Грина...
7. Найти поток векторного поля через замкнутую поверхность, ограничивающую указанное тело G,в направлении внешней нормали к поверхности. Задачу решить двумя способами : непосредственно,вычислив поток через все гладкие куски поверхности,и с помощью теоремы Гаусса-Острадского.
                                                                                               

----------
S4astliff4ik - он такой один ...

Всего записей: 858 | Зарегистр. 20-01-2008 | Отправлено: 11:46 25-11-2009
SergunBooker

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, можно ли, как нибудь у Arg[z] изменить диапазон значений, вместо [-Pi,Pi], а то графики обрезаются.  

Всего записей: 1 | Зарегистр. 03-10-2009 | Отправлено: 15:20 26-11-2009
zepterman

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, какие программы могут искать из заданных чисел необходимую сумму.
 
Пример.
Есть множество чисел 10,20,50,4,10,6,...
Мне в итоге нужно получить число 90.
И программа выдает все возможные варианты:
10,20,50,10
10,20,50,4,6

Всего записей: 190 | Зарегистр. 27-04-2006 | Отправлено: 00:26 27-11-2009
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zepterman
Задача решается элементарно:
 
list = {10, 20, 50, 4, 10, 6};
Select[Subsets[list], Total[#] == 90 &] // Column
 
Добавлено:
S4astliff4ik
По поводу п.1: NMinimize в Mathematica как раз для этого. По поводу остального: надо выписывать формулы ручками.

Всего записей: 1835 | Зарегистр. 22-03-2003 | Отправлено: 16:40 30-11-2009
S4astliff4ik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
popkovок,попробую...
 
 
Добавлено:
popkovок,попробую...


----------
S4astliff4ik - он такой один ...

Всего записей: 858 | Зарегистр. 20-01-2008 | Отправлено: 09:49 01-12-2009
AlexeyTr



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А где достать хелп/документацию к 7-й версии?

Всего записей: 958 | Зарегистр. 30-04-2002 | Отправлено: 12:15 27-12-2009
Partner1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
The Mathematica Journal стал вроде-бы бесплатным:
www.mathematica-journal.com

Всего записей: 273 | Зарегистр. 28-11-2007 | Отправлено: 19:08 22-02-2010
eriik



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Partner1

Цитата:
The Mathematica Journal стал вроде-бы бесплатным:  
www.mathematica-journal.com
Серьезно?
А я еще помню те времена, когда серьезные дяди и тёти шарились по китайским поисковикам в поисках паролей-аккаунтов с валидной подпиской на TMJ, и ведь находили ж ! ) А все чтобы почитать tips-n-tricks от паши турротова, ...

Всего записей: 453 | Зарегистр. 09-01-2003 | Отправлено: 21:43 22-02-2010 | Исправлено: eriik, 21:44 22-02-2010
Partner1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eriik

Цитата:
Серьезно?  
А я еще помню те времена, когда серьезные дяди и тёти шарились по китайским поисковикам в поисках паролей-аккаунтов с валидной подпиской на TMJ

Надо-же, и я  так делал
h_tt_p://www.bugmenot.com/view/mathematica-journal.com

Всего записей: 273 | Зарегистр. 28-11-2007 | Отправлено: 22:08 22-02-2010
kyznez1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. У меня такой вопрос:
можно ли как-нибудь сделать чтобы Математика отображала дробь в обычном (не многоэтажном) виде? N[] не катит, т.к нужно сохранение в ответе переменных, корней и т.д.

Всего записей: 18 | Зарегистр. 22-08-2008 | Отправлено: 18:40 24-02-2010
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kyznez1

Цитата:
In[1]:= InputForm[1/2]
Out[1]//InputForm=
1/2

Всего записей: 1835 | Зарегистр. 22-03-2003 | Отправлено: 23:04 24-02-2010
kyznez1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
popkov
я имею в виду, чтоб дробь 1/(1 + 1/a^2) отображалась в виде a^2/(a^2+1)

Всего записей: 18 | Зарегистр. 22-08-2008 | Отправлено: 09:09 27-02-2010 | Исправлено: kyznez1, 09:17 27-02-2010
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kyznez1

Цитата:
я имею в виду, чтоб дробь 1/(1 + 1/a^2) отображалась в виде a^2/(a^2+1)

Это уже совершенно другой вопрос: ты хочешь преобразовать дробь к виду, когда количество этажей минимально, как я понял. Вот решение:
 
In[1]:=  
  f[e_] := 100 Count[e, Power[_, _?Negative], {0, Infinity}] + LeafCount[e]
  mySimplify := Simplify[#, ComplexityFunction -> f] &;
 
In[3]:= mySimplify[1/(1 + 1/a^2)]
 
Out[3]= a^2/(1 + a^2)

Всего записей: 1835 | Зарегистр. 22-03-2003 | Отправлено: 11:54 27-02-2010
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пришлось плотно столкнуться с математикой 7 неделю назад. Оговорюсь что это была 64бит версия под линукс, но!
Коллеги, как вы на ней считаете, это ведь тихий, но очень падучий ужас. Она вылетает от дуновения ветра, интерфейс переключается как в замедленной сьемке, несмотря на четыре ксеоновские 3 Ггц овые ядра на компе. За час работы оно падает не мене 4 раз.  
 
 
Кроме того, какой то график, который в Мэпле показывается за доли секунды, оно считает где то 10 минут.
 
Если кому не сложно, проверьте на своей версии вот такой график
Подробнее...

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 14:10 09-04-2010 | Исправлено: terminat0r, 14:47 09-04-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Компьютерный форум Ru.Board » Компьютеры » Программы » Wolfram Mathematica | Математика


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru