Таким образом, благодаря тщательному поиску и просмотру документации я перепробовал множество решений, и вот одно из них, которое я нашел, сработало для меня. «Это решение MacOS». Примечание: Переименуйте '/ what / ever / location' в ваше фактическое местоположение, но я рекомендую сохранить данные, db, bin, log.
При установке mongodb с использованием homebrew (предварительные требования, установите xcode).
$ brew install mongodb
Официальная документация гласит, что он не создает файл конфигурации, поэтому вы должны создать его и поместить в это место.
/etc/mongod.conf
После создания используйте текстовый редактор (по выбору), чтобы вставить этот код. Мой упрощен, но в документации монго есть полный список того, что еще нужно включить. Опции хранения документации Mongo : Примечание: этот код написан на .yaml или .yml, поэтому вкладок нет.
systemLog:
destination: file
path: "/what/ever/location/log/mongod.log"
logAppend: true
storage:
dbPath: "/what/ever/location/data/db"
indexBuildRetry: true
repairPath: "/what/ever/location/data/db/repairdb"
journal:
enabled: true
processManagement:
fork: true
net:
bindIp: 127.0.0.1
port: 27017
setParameter:
enableLocalhostAuthBypass: false
Я добавил некоторые дополнительные вещи, такие как журнал и путь восстановления, это ваш выбор. Затем измените ваш .bash_profile
с помощью этой строки:
# MongoDB Aliases
alias mongod="mongod --dbpath /what/ever/location/bin"
Пока вы там, если вы еще этого не сделали, обновите переменную окружения $ PATH, где расположена оболочка mongod.
export PATH="/what/ever/location/bin:$PATH"
В вашем клиенте (по вашему выбору) запустите эту строку, чтобы проверить работоспособность:
$ mongod
Я предполагаю этот , запись в блоге является одним хорошим объяснением:
ключевое слово вращение (в противоположность направление для отрицательных чисел, которые являются столь же более странными как мнимое число, когда Вы думаете о них: меньше, чем ничто ?)
Как зеркальное отражение моделирования отрицательных чисел, мнимые числа могут смоделировать что-либо, что поворачивает между двумя размерами “X” и “Y” . Или что-либо с циклическими, круговыми отношениями
Проблема: мало того, что я - программист, я - математик. Решение: пашите вперед так или иначе.
нет ничего действительно волшебного к комплексным числам. Идея позади их начала состоит в том, что существует что-то не так с вещественными числами. Если у Вас есть уравнение x^2 + 4, это никогда не нуль, тогда как x^2 - 2 является нулем дважды. Таким образом, математики стали действительно сердитыми, и требуемый там, чтобы всегда быть обнуляет с многочленами градуса по крайней мере один (хотел "алгебраически закрытое" поле), и создал некоторое произвольное число j таким образом что j = sqrt (-1). Весь вид правил встает на свое место оттуда (хотя они более точно реорганизованы по-другому - а именно, Вы официально не можете на самом деле сказать, "что эй это число является квадратным корнем отрицательных один"). Если существует то, что номер j, можно получить кратные числа j. И можно добавить вещественные числа к j, таким образом у Вас есть комплексные числа. Операции с комплексными числами подобны операциям с биномами (сознательно так).
настоящая проблема с комплексами не находится во всем этом, а в том, что Вы не можете определить систему, посредством чего можно получить обычные правила для меньше и больше - чем. Таким образом, действительно Вы добираетесь туда, где Вы не определяете его вообще. Это не имеет смысла в двумерном пространстве. Таким образом во всей честности, я не могу на самом деле ответить, "дают мне, exaple числа придал квадратную форму, который является < = 0 дюймов, хотя "j" имеет смысл при обработке его квадрата как вещественного числа вместо комплексного числа.
Что касается использования, ну, в общем, я лично использовал их больше всего при работе с фракталами. Идея позади mandelbrot фрактала состоит в том, что это - способ изобразить z в виде графика = z^2 + c и его расхождение вдоль реальных мнимых осей.
Вы могли бы также спросить, почему отрицательные числа существуют? Они существуют, потому что Вы хотите представить решения определенных уравнений как: x + 5 = 0. То же самое применяется к мнимым числам, Вы хотите сжато представить решения уравнений формы: x^2 + 1 = 0.
Вот один способ, которым я видел, что они используются на практике. В EE Вы часто имеете дело с функциями, которые являются синусоидальными волнами, или это может быть разложено на синусоидальные волны. (См., например ряд Фурье ).
Поэтому Вы будете часто видеть решения уравнений формы:
f (t) = A*cos (вес)
, Кроме того, часто Вы хотите представить функции, которые смещаются на некоторую фазу от этой функции. Фазовый сдвиг на 90 градусов даст Вам функцию греха.
г (т) = B*sin (вес)
можно получить любой произвольный фазовый сдвиг путем объединения этих двух функций (названный синфазно и квадратурные компоненты).
ч (t) = cos (вес) + я B*sin (вес)
ключ здесь то, что в линейной системе: если f (t) и g (t) решат уравнение, то h (t) также решит то же уравнение. Так, теперь у нас есть универсальное решение уравнения h (t).
хорошая вещь о h (t) состоит в том, что он может быть записан сжато как [1 111]
ч (t) = Cexp(wt+theta)
Используя то, что exp (iw) = because(w) +i*sin (w).
нет действительно ничего чрезвычайно глубоко ни об одном из этого. Это просто использует математические идентификационные данные для компактного представления общего решения большого разнообразия уравнений.
Ну, для программиста:
class complex {
public:
double real;
double imaginary;
complex(double a_real) : real(a_real), imaginary(0.0) { }
complex(double a_real, double a_imaginary) : real(a_real), imaginary(a_imaginary) { }
complex operator+(const complex &other) {
return complex(
real + other.real,
imaginary + other.imaginary);
}
complex operator*(const complex &other) {
return complex(
real*other.real - imaginary*other.imaginary,
real*other.imaginary + imaginary*other.real);
}
bool operator==(const complex &other) {
return (real == other.real) && (imaginary == other.imaginary);
}
};
Это - в основном все, которое существует. Комплексные числа являются просто парами вещественных чисел, для которых определяются специальные перегрузки +, * и ==. И эти операции действительно просто добираются , определил как это. Затем оказывается, что эти пары чисел с этими операциями согласуются приятно с остальной частью математики, таким образом, они получают специальное имя.
Они не так много, числами как в "подсчете", но больше как в "можно управлять с +, - *... и не вызывают проблемы при смешивании со 'стандартными' числами". Они важны, потому что они заполняют дыры, покинутые вещественными числами, как этот нет никакого числа, которое имеет квадрат-1. Теперь Вы имеете complex(0, 1) * complex(0, 1) == -1.0
, который является полезной нотацией, так как Вы не должны рассматривать отрицательные числа особенно больше в этих случаях. (И как оказалось, в основном все другие особые случаи больше не нужны при использовании комплексных чисел)
Основной момент - то, что Вы добавляете числа, которые Вы определяете , чтобы быть решениями квадратных уравнений как x <глоток> 2 глоток> =-1. Назовите одно решение того уравнения i, правила вычисления, поскольку я затем следую из того уравнения.
Это подобно определению отрицательных чисел как решение уравнений как 2 + x = 1, когда Вы только знали положительные числа или части как решения уравнений как 2x = 1, когда Вы только знали целые числа.
Могло бы быть самым легким прекратить пытаться понять , как число может быть квадратным корнем отрицательного числа и только продолжиться учитывая, что это.
Так (использование я как квадратный корень-1):
(3+5i)*(2-i)
= (3+5i)*2 + (3+5i)*(-i)
= 6 + 10i -3i - 5i * i
= 6 + (10 -3)*i - 5 * (-1)
= 6 + 7i + 5
= 11 + 7i
работы согласно стандартным правилам математики (помнящий то, что я придал квадратную форму, равняется-1 на строке четыре).
Мнимое число является вещественным числом, умноженным на мнимую единицу i
. i
определяется как:
i == sqrt(-1)
Так:
i * i == -1
Используя это определение можно получить квадратный корень отрицательного числа как это:
sqrt(-3)
== sqrt(3 * -1)
== sqrt(3 * i * i) // Replace '-1' with 'i squared'
== sqrt(3) * i // Square root of 'i squared' is 'i' so move it out of sqrt()
И Ваш окончательный ответ вещественное число sqrt(3)
, умноженное на мнимую единицу i
.
Короткий ответ: Вещественные числа одномерны, мнимые числа добавляют второй размер к уравнению, и некоторый странный материал происходит, если Вы умножаетесь...
Если Вы интересуетесь нахождением простого применения и если Вы знакомы с матрицами, иногда полезно использовать комплексные числа для преобразования совершенно реальной матрицы в треугольную в сложном пространстве, и оно делает вычисление на нем немного легче.
результат, конечно, совершенно реален.
Большие ответы до сих пор (действительно как Devin!)
Еще одна точка:
Одно из первого использования комплексных чисел (хотя их не назвали тем путем в то время) было как промежуточный шаг в решении уравнений 3-го градуса. ссылка
Снова, это - просто инструмент, который используется для ответа на настоящие проблемы с реальный числа, имеющие физическое значение.