|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: May 2002
Адрес: Ростов-на_Дону
Сообщений: 542
|
Корень 3-й степени из отрицательного числа???
В "Справочнике по математике", И.Н.Бронштейн и К.А. Семендяев, стр.139, 8-я строка сверху:
корень 3-й степени из -4 = -1.5874 Обычный виндузовский калькулятор на ввод -4 x^y ( 1 / 3 ) выдаёт -1.587401051968.... НО!!!!! В Matlab 6 ввод (-8)^(1/3) выдаёт комплексное число: ans = 1.0000 + 1.7321i Во Флеш следующий скрипт ----------------------- a = Math.pow(-8 , 1/3); trace (a); ----------------------- в трейсе выдаёт NaN =========== Я точно знаю, что -2 х -2 х -2 = -8. Соответственно корень 3-й степени из -8 должен = -2. (Речь собсно о минусе в подкоренном числе) Вопрос: Какой проблем у Matlab 6 и Flash MX ? Или у меня ?
__________________
Uri-Uri Как могут существовать вещи, которые никогда не случаются? Измена мира к лучшему! Последний раз редактировалось uri-uri; 18.01.2003 в 23:45. |
|
|||||
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Определись на каком множестве ты оперируешь. Если комплексные числа, то там три корня равномерно размазанные по окружности радиуса два, если действительные, то один отрицательный, а флэш прав на каком-ньть другом множестве...
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
Регистрация: May 2002
Адрес: Ростов-на_Дону
Сообщений: 542
|
Что значит, на каком множестве? Помоему я ясно описал конкретные числа.
Обьясни
__________________
Uri-Uri Как могут существовать вещи, которые никогда не случаются? Измена мира к лучшему! |
|
|||||
Помнится в стандартном школьном определении было мол, что общая степенная функция y=a^x имеет смысл только при a>0.
По ходу Flash пользуется им. Кстати проверил в MathCad'e, там верно все.
__________________
Где-то, кажется, что-то было... Последний раз редактировалось Qhil; 19.01.2003 в 00:21. |
|
|||||
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Множество R - действительные числа. 0, 1, -1, пи, -пи, -корень из 3.... Стандартная числовая прямая от минус бесконечности до плюс бесконечности. Операции заданные на этом ножестве подразумевают аргумент из R и принимают значения в R.
Множество C - комплексные числа, предстваленные парами действительных чисел, первое из которых называю действительной частью а второе мнимою. Аналогия - плоскость (пары действительныз x, y). Очевидно флэш не знаком с новыми математическими теориями и поэтому не способен взять корень третьей степени из -8...
__________________
...убивать людей не удовольствия ради, но для еды. Последний раз редактировалось DeliMIter; 19.01.2003 в 00:19. |
|
|||||
Регистрация: Mar 2002
Сообщений: 204
|
Существует 3 корня 3 степени из -8. Калькулятор честно называет один из них, -2. И вообще говоря, пока мы не говорим про мнимые числа, а ограничиваемся вещественными, это будет единственным корнем. Однако, так как степень третья, то и корней олжно быть три. Поэтому МатЛаб честно признается в том, что ему известен еще один корень, единица плюс корень из трех на мнимую единицу, то есть 1+1.732i.
А вот Флэш, видимо, единственный, кто знает о существовании третьего корня, единица минус корень из трех на мнимую единицу (1-1.732i) - но какие-то внутренние религиозные убеждения не позваоляют ему поверить в существование мнимых чисел, отчего он и заявляет, что это вовсе и не число (Not a Number)...
__________________
--- 8< --- 8< --- 8< --- |
|
|||||
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
А это и не число :)))))
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
|
Дело в том, что в математике (еще до флеша, интернета и компов) договорились на следующем (хотя в некоторых учебниках могут и по-другому объяснить):
1. Существует функция Корня N-ой степени, которая: 1.1. Определена на [0;+infinity) для четного N 1.2. Определена на (-infinity;+infinity) для нечетного N 2. Существует показательная функция X^A, которая: 2.1. Определена на (0;1)+(1;+infinity). Т.е. на множестве положительных числах без единицы (споры до сих пор по поводу единицы - если логарфим считать обратной к показательной функцией, то БЕЗ единицы - тогда возможно беспроблемное преобразование туда-обратно, если логарифм - самостоятельная ф-ция, то можно договориться и на включении единицы) Судя по всему, во Флэш Math.pow - показательная функция и не понимает отрицательных значений. Функция Корня во Флеше одна - Math.sqrt() - квадратного корня. зы: корень и степенная функция - разные функции. Те, кто не верит, поверьте :) |
|
|||||
не парься и считай через экспоненту
xPow = function (x,y) { var yy=y; if (Math.abs(y)<1) yy=1/yy sign = Math.pow(x/Math.abs(x),odd(y)) if (odd(yy)==2 && sign<0) return void(2); return sign*Math.exp(y*Math.log(Math.abs(x))); } odd = function (x) { if (x/Math.floor(x/2)==2) return 2; return 1; } t = getTimer(); trace(xPow(16,11)+" "+(getTimer()-t));
__________________
ушел в ruFlash... |
|
|||||
Регистрация: May 2002
Адрес: Ростов-на_Дону
Сообщений: 542
|
2 DeliMIter
> Очевидно флэш не знаком с новыми математическими теориями и поэтому не способен взять корень третьей степени из -8... < Эти "новые математические теории" 16 века. Сейчас 21. Тормозитттт Флэш. )) 2 DMN > Поэтому МатЛаб честно признается в том, что ему известен <!>еще<!> один корень, единица плюс корень из трех на мнимую единицу, то есть 1+1.732i. < Было бы честно, если бы при наличии 3-х корней он показал бы все 3 корня. А то он на свой вкус показывает только один - этот, даже не заикаясь об остальных. Это честно? 2 [subway]design спасибо за очень интересный материал. 2 Pietrovich спасибо, но код не для таких дилетантов, как я. ---------------- if x < 0 k = -1 else k = 1 end y = k*(k*x)^(1/3) ---------------- кусок кода в формате Matlab, придуманный мной для избавления от этого геммороя В Visual Basic 6 следующий код: ----------------------- Private Sub Form_Load() a = (-8) ^ (1 / 3) Text1.Text = a End Sub ----------------------- выдаёт Run-time error '5': Invalid procedure call or argument Если прав [subway]design, спинным мозгом чую, что прав: "корень и степенная функция - разные функции", а корень n-ной степени в имеющихся под рукой программах нереализован как функция, значит его что-то заменяет. Экспонента, как говорит Pietrovich, или может, что попроще? Интересны ваши мнения на сей счёт. Спасибо.
__________________
Uri-Uri Как могут существовать вещи, которые никогда не случаются? Измена мира к лучшему! |
Часовой пояс GMT +4, время: 16:57. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|