Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [Wolfram Mathematica] Программирование в системе.

Ответить
Настройки темы
Разное - [Wolfram Mathematica] Программирование в системе.

Новый участник


Сообщения: 26
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


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

Я не знаю, была ли на форуме подобная тема - по крайней мере, я аналогов не нашел.

Эта тема посвящена обсуждению вопросов программирования в системе Wolfram Mathematica. Я нашел только следующую статью о программировании в Математике: вот она. Она не решила всех моих вопросов.

В частности, такой простой вопрос, как наличие и способ применения в Wolfram Mathematica составного оператора, для меня все еще остается открытым. Я пробовал применять "Блок" ([ ... ]), но не получил результата.

Отправлено: 08:09, 29-04-2013

 

Ветеран


Сообщения: 2029
Благодарности: 704

Профиль | Отправить PM | Цитировать


Цитата TaDa:
Существует ли способ задать в сумме Sum[] или произведении Product[] дополнительное условие на индексы? И в чем состоит этот способ? »
Если честно, никогда не сталкивался с подобной задачей, но, возможно, Вашу задачу решил бы самый простой подход - определить весовую функцию от индексов.
Допустим, Вы хотите вычислить след матрицы. Сделаем это, определив зависимости между индексами так, чтобы учитывались только элементы на диагонали матрицы (естественно, просто для примера - в реальной жизни любого человека, который считает след в Mathematica подобным образом надо срочно госпитализировать в Кащенко как идиота):

Aij = Table[A[i, j], {i, 10}, {j, 10}]
z[i_,j_] := If [ i==j, 1, 0 ]
Sum[Sum[z[i, j]Aij[[i, j]], {j, 10}], {i, 10}]

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

-------
Господа! Убедительная просьба не обращаться за консультациями в ЛС. Поверьте, создать ветку в соответствующем разделе форума гораздо эффективнее.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:25, 19-08-2013 | #11



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


http://reference.wolfram.com/mathema...=MapAt&lang=en
TaDa, больше налегай на поиск по словам в книжке (Mathematica Book)
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:48, 19-08-2013 | #12


Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

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

Но, к сожалению, я не нашел подобной опции в справочнике.

Отправлено: 21:23, 12-11-2013 | #13


Ветеран


Сообщения: 2029
Благодарности: 704

Профиль | Отправить PM | Цитировать


TaDa, функцией Assuming не получится воспользоваться? Или добавить его через двойной амперсенд в Solve, чтобы получилась система неравенств?

-------
Господа! Убедительная просьба не обращаться за консультациями в ЛС. Поверьте, создать ветку в соответствующем разделе форума гораздо эффективнее.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:39, 12-11-2013 | #14


Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


AMDBulldozer, действительно, использование функции Assuming приводит к нужному результату. Большое спасибо!

Отправлено: 04:49, 13-11-2013 | #15


Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg psi_product.jpg
(5.8 Kb, 7 просмотров)

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

Product с Assumptions не приводят к результату, как и вариант с Assuming и зацикленным TimesBy. Во втором случае возвращает нетронутым исходный массив, в первом - возвращается нулевой массив (т.е. Null).

Отправлено: 20:14, 14-11-2013 | #16

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


я не понял, как так k=1, k!=1

Обычно сама математика пишет такие формулы в виде
Код: Выделить весь код
phi[m_][x_] := Product[(x-x[k])/(x[m]-x[k]), {k,1,n}]
При этом x объявлета как функция (по аналогии с константами интегрирования C[n])

Странно, что не получается реализовать её в виде таблицы, должно получиться:
Код: Выделить весь код
x = Table[...]
phi[x1_]=Table[Times@@((x1-x)/(x[m]-x)), {m,1,Length[x]}]] (*здесь x1 должна быть таблицей длины Length[x] *)
Ещё вариант: (мой любимый, но без пол-литра не поймёшь, куда посылает)
Код: Выделить весь код
x = Table[...]
phi[x1_]:=(Times@@((x1-x)/(#1-x))&)/@x (*здесь x1 должна быть таблицей длины Length[x] *)

Последний раз редактировалось pva, 15-11-2013 в 10:22.


Отправлено: 10:17, 15-11-2013 | #17


Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


pva, в формуле, к сожалению, ошибка, должно быть k != m.

Удалось реализовать это дело с помощью следующего кода:

Код: Выделить весь код
Psi1[Nu_, m_] := Product[(Nu - NuRoots[[k]])/(NuRoots[[m]] - NuRoots[[k]]), {k, Delete[Range[1, n1], m]}]
В массиве NuRoots лежат точки; все это делается для получения аппроксимирующей функции, точнее - работает формула Гаусса-Кристоффеля для вычисления несобственного интеграла.

Тут возник еще один вопрос: существует ли способ скопировать код из Mathematica в Microsoft Word так, чтобы в документ пошла "красивая" запись кода? Может, через MathType как-нибудь?

Отправлено: 14:27, 24-11-2013 | #18


Ветеран


Сообщения: 2029
Благодарности: 704

Профиль | Отправить PM | Цитировать


Цитата TaDa:
существует ли способ скопировать код из Mathematica в Microsoft Word так, чтобы в документ пошла "красивая" запись кода? »
Боюсь, что не могу подсказать - никогда не возникало такой необходимости. При желании всегда можно подготовить документ в самой Mathematica (написана же ней самой вся справочная система, правда?) и экспортировать в PDF. Посмотрите доступные типы в "Save as", может быть что-нибудь Вам подойдет. К тому же, для сохранения отдельных результатоы вычислений можно пользоваться функцией Export. Допустимые форматы экспорта содержатся в переменной $ExportFormats.

-------
Господа! Убедительная просьба не обращаться за консультациями в ЛС. Поверьте, создать ветку в соответствующем разделе форума гораздо эффективнее.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:44, 24-11-2013 | #19

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата TaDa:
Тут возник еще один вопрос: существует ли способ скопировать код из Mathematica в Microsoft Word так, чтобы в документ пошла "красивая" запись кода? Может, через MathType как-нибудь? »
Я всегда копировал как метафайл и вставлял картинкой. Это было в 4.1, сейчас не знаю, что в математике есть.
Плюсы: формулы набираются быстро и выглядят красиво (по сравнению с вордовским плагином)
Минусы: надо тащить с собой шрифты математики (штук 6). Иначе в документе каша.
Делал статьи полностью в математике - тоже вариант (потом можно экспортировать в латех).

Цитата TaDa:
Product[(Nu - NuRoots[[k]])/(NuRoots[[m]] - NuRoots[[k]]), {k, Delete[Range[1, n1], m]}] »
а можно сделать так (используя свойства произведения):
Код: Выделить весь код
phi[m_][x_] := Product[If[k==m,1,(x-x[k])/(x[m]-x[k])], {k,1,n}]
с табличным вариантом поможет комбинация Drop и MapIndexed (я уже полез в хелп за примером)
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:45, 25-11-2013 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [Wolfram Mathematica] Программирование в системе.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [Wolfram Mathematica] - Решение системы интегральных уравнений TaDa Программирование и базы данных 13 17-04-2013 09:47
Разное - [Mathematica] Задание функции 0_5Mandarinki Программирование и базы данных 2 29-10-2008 20:39
[решено] Mathematica 4.2, как заставить дождаться конца установки? rhiannon Автоматическая установка приложений 5 21-04-2005 07:51
Программирование andy666 Программирование и базы данных 3 24-10-2003 22:17
Программирование andy666 Программирование и базы данных 1 10-10-2003 19:52




 
Переход