$ Предположение для нескольких переменных - PullRequest
3 голосов
/ 30 ноября 2010

Я хочу ограничить свои переменные определенными диапазонами для всей записной книжки, есть ли способ, которым я могу сделать это за один раз, не вводя разные строки $ предположения для каждой переменной?

Редактировать: я хочу определить область переменных для всех вычислений в моем блокноте (поиск в Google помог мне лучше сформулировать мои потребности!)

Ответы [ 2 ]

3 голосов
/ 02 декабря 2014

Глобально определите следующим образом

$Assumptions = b >= 0 && c >= 0 && {u11, u13, u14} \[Element] Reals

, затем используйте глобально определенные переменные следующим образом

Simplify[expression  with global variables] 
2 голосов
/ 01 декабря 2010

Если все ваши переменные будут (например) Real, тогда вы можете перехватить создание новых символов и добавить это предположение к $Assumptions. Э.Г.

$Assumptions = True;
$NewSymbol = If[#2 === "Global`",
    Print["Created new Global` variable named ", #1, ". It is assumed to be real."];
    $Assumptions = $Assumptions && Element[Symbol[#2 <> #1], Reals],
    Null (* other, probably a system symbol is created *)] &;

Тогда, если вы создадите новый символ, который не хотите быть реальным, вы можете получить что-то вроде $Assumptions = Most[$Assumptions].


Примечание: я не обязательно утверждаю, что этот подход - хорошая идея ... Вероятно, лучше всего просто определить $Assumptions для переменных, которые вы собираетесь использовать. Это можно сделать программно, используя Map, Table и т. Д.

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