Как программист, как Вы объяснили бы мнимые числа?

Таким образом, благодаря тщательному поиску и просмотру документации я перепробовал множество решений, и вот одно из них, которое я нашел, сработало для меня. «Это решение 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

16
задан kiamlaluno 17 January 2013 в 07:07
поделиться

10 ответов

Я предполагаю этот , запись в блоге является одним хорошим объяснением:

ключевое слово вращение (в противоположность направление для отрицательных чисел, которые являются столь же более странными как мнимое число, когда Вы думаете о них: меньше, чем ничто ?)

alt text

Как зеркальное отражение моделирования отрицательных чисел, мнимые числа могут смоделировать что-либо, что поворачивает между двумя размерами “X” и “Y” . Или что-либо с циклическими, круговыми отношениями

23
ответ дан 30 November 2019 в 15:24
поделиться

Проблема: мало того, что я - программист, я - математик. Решение: пашите вперед так или иначе.

нет ничего действительно волшебного к комплексным числам. Идея позади их начала состоит в том, что существует что-то не так с вещественными числами. Если у Вас есть уравнение x^2 + 4, это никогда не нуль, тогда как x^2 - 2 является нулем дважды. Таким образом, математики стали действительно сердитыми, и требуемый там, чтобы всегда быть обнуляет с многочленами градуса по крайней мере один (хотел "алгебраически закрытое" поле), и создал некоторое произвольное число j таким образом что j = sqrt (-1). Весь вид правил встает на свое место оттуда (хотя они более точно реорганизованы по-другому - а именно, Вы официально не можете на самом деле сказать, "что эй это число является квадратным корнем отрицательных один"). Если существует то, что номер j, можно получить кратные числа j. И можно добавить вещественные числа к j, таким образом у Вас есть комплексные числа. Операции с комплексными числами подобны операциям с биномами (сознательно так).

настоящая проблема с комплексами не находится во всем этом, а в том, что Вы не можете определить систему, посредством чего можно получить обычные правила для меньше и больше - чем. Таким образом, действительно Вы добираетесь туда, где Вы не определяете его вообще. Это не имеет смысла в двумерном пространстве. Таким образом во всей честности, я не могу на самом деле ответить, "дают мне, exaple числа придал квадратную форму, который является < = 0 дюймов, хотя "j" имеет смысл при обработке его квадрата как вещественного числа вместо комплексного числа.

Что касается использования, ну, в общем, я лично использовал их больше всего при работе с фракталами. Идея позади mandelbrot фрактала состоит в том, что это - способ изобразить z в виде графика = z^2 + c и его расхождение вдоль реальных мнимых осей.

21
ответ дан 30 November 2019 в 15:24
поделиться

Вы могли бы также спросить, почему отрицательные числа существуют? Они существуют, потому что Вы хотите представить решения определенных уравнений как: 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).

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

9
ответ дан 30 November 2019 в 15:24
поделиться

Ну, для программиста:

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, который является полезной нотацией, так как Вы не должны рассматривать отрицательные числа особенно больше в этих случаях. (И как оказалось, в основном все другие особые случаи больше не нужны при использовании комплексных чисел)

2
ответ дан 30 November 2019 в 15:24
поделиться

Основной момент - то, что Вы добавляете числа, которые Вы определяете , чтобы быть решениями квадратных уравнений как x <глоток> 2 =-1. Назовите одно решение того уравнения i, правила вычисления, поскольку я затем следую из того уравнения.

Это подобно определению отрицательных чисел как решение уравнений как 2 + x = 1, когда Вы только знали положительные числа или части как решения уравнений как 2x = 1, когда Вы только знали целые числа.

0
ответ дан 30 November 2019 в 15:24
поделиться

Могло бы быть самым легким прекратить пытаться понять , как число может быть квадратным корнем отрицательного числа и только продолжиться учитывая, что это.

Так (использование я как квадратный корень-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 на строке четыре).

0
ответ дан 30 November 2019 в 15:24
поделиться

Мнимое число является вещественным числом, умноженным на мнимую единицу 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.

0
ответ дан 30 November 2019 в 15:24
поделиться

Короткий ответ: Вещественные числа одномерны, мнимые числа добавляют второй размер к уравнению, и некоторый странный материал происходит, если Вы умножаетесь...

0
ответ дан 30 November 2019 в 15:24
поделиться

Если Вы интересуетесь нахождением простого применения и если Вы знакомы с матрицами, иногда полезно использовать комплексные числа для преобразования совершенно реальной матрицы в треугольную в сложном пространстве, и оно делает вычисление на нем немного легче.

результат, конечно, совершенно реален.

0
ответ дан 30 November 2019 в 15:24
поделиться

Большие ответы до сих пор (действительно как Devin!)

Еще одна точка:

Одно из первого использования комплексных чисел (хотя их не назвали тем путем в то время) было как промежуточный шаг в решении уравнений 3-го градуса. ссылка

Снова, это - просто инструмент, который используется для ответа на настоящие проблемы с реальный числа, имеющие физическое значение.

0
ответ дан 30 November 2019 в 15:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: