Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [VB6] Комплексные числа(мнимая еденица) на VB 
:(
    Опции темы
чемпионка
Дата 26.3.2008, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.3.2008

Репутация: нет
Всего: нет



Приветик всем!Подскажите пожалуйсто!
Подскажите как на Visual Basic записывать комплексные числа или мнимую еденицу?
ПРИМЕР:
x^3-4*x^2+8*x-8=0
Если решить это уравнение, то получаеть соответственно 3 корня. Один из них точный x=2, а два другие комплексные!
На Delphi мне ясно как это сделать, получается
 x1=2, 
x2= 1 + i * 1,73205080756888, 
x3=1 - i * 1,73205080756888.
Подскажите пожалуйста как мне на VB сделать, что бы ответ получался с мнимой еденицей(как покажано в примере)?
Заранее очень благодарна !

PM MAIL   Вверх
Akina
Дата 26.3.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 17
Всего: 454



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

А вот как ЗАПИСЫВАТЬ - это вы определяетет самостоятельно при форматировании вывода.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
cardinal
Дата 26.3.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 15
Всего: 99





--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
чемпионка
Дата 27.3.2008, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.3.2008

Репутация: нет
Всего: нет



Ребята ну привелите пример пожалуйсто!
PM MAIL   Вверх
cardinal
Дата 27.3.2008, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 15
Всего: 99



Читаем
http://forum.vingrad.ru/forum/topic-64749.html
до конца причем. Там в конце намек тонкий... smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
kill666
Дата 27.3.2008, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



в свое вемя тоже возник такой вопрос. нужны библиотеки.
PM MAIL   Вверх
чемпионка
Дата 27.3.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.3.2008

Репутация: нет
Всего: нет



Помогите что мне надо написать что ответ был вот такой
x2= 1 + i * 1,73205080756888,
Вот  код программа скажите пожалуйсто где мне надо исправить или добавить, что бы получился выше сказаный ответ.

Код

Private Sub Command1_Click()
Const Pi = 3.14159265358979

 p = (3 * A * C - B * B) / (3 * A * A)
 q = (2 * B * B * B - 9 * A * B * C + 27 * A * A * D) / (27 * A * A * A)
    
S = (4 * (3 * A * C - B * B) * (3 * A * C - B * B) * (3 * A * C - B * B) + (2 * B * B * B - 9 * A * B * C + 27 * A * A * D) * (2 * B * B * B - 9 * A * B * C + 27 * A * A * D)) / (2916 * A * A * A * A * A * A)
Y1 = 0
Y2 = 0
F = 0
If S < 0 Then
If q < 0 Then F = Atn(-2 * Sqr(-S) / q)
If q > 0 Then F = Atn(-2 * Sqr(-S) / q) + Pi
If q = 0 Then F = Pi / 2
x1 = 2 * Sqr(-p / 3) * Cos(F / 3) - B / A / 3
x2 = 2 * Sqr(-p / 3) * Cos((F + 2 * Pi) / 3) - B / A / 3
x3 = 2 * Sqr(-p / 3) * Cos((F + 4 * Pi) / 3) - B / A / 3
End If
If q = 0 Then x3 = -B / A / 3
If S > 0 Then
If -q / 2 + Sqr(S) > 0 Then Y1 = Exp(Log(Abs(-q / 2 + Sqr(S))) / 3)
If -q / 2 + Sqr(S) < 0 Then Y1 = -Exp(Log(Abs(-q / 2 + Sqr(S))) / 3)
If -q / 2 + Sqr(S) = 0 Then Y1 = 0
If -q / 2 - Sqr(S) > 0 Then Y2 = Exp(Log(Abs(-q / 2 - Sqr(S))) / 3)
If -q / 2 - Sqr(S) < 0 Then Y2 = -Exp(Log(Abs(-q / 2 - Sqr(S))) / 3)
If -q / 2 - Sqr(S) = 0 Then Y2 = 0
x1 = Y1 + Y2 - B / A / 3
value1 = -(Y1 + Y2) / 2 - B / A / 3
value2 = (Y1 - Y2) * Sqr(3) / 2
x2, х3 = value1 + -i * value2

End If
If S = 0 Then
If q < 0 Then Y1 = Exp(Log(Abs(-q / 2)) / 3)
If q > 0 Then Y1 = -Exp(Log(Abs(-q / 2)) / 3)
If q = 0 Then Y1 = 0
x1 = 2 * Y1 - B / A / 3
x2 = -Y1 - B / A / 3
x3 = -Y1 - B / A / 3
End If


End Sub

PM MAIL   Вверх
Akina
Дата 27.3.2008, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 17
Всего: 454



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
cardinal
Дата 27.3.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 15
Всего: 99



чемпионка, буква i в VB не значит то, что тебе хотелось бы!


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
cardinal
Дата 28.3.2008, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 15
Всего: 99



Реши сначала любой пример на бумаге, а потом пройди построчно твой код и подумай что вообще происходит и что должно происходить.

Ответ получится в виде строки! а не числа, а i будет буквой в этой строке.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
cardinal
Дата 28.3.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 15
Всего: 99



Вот один пример
http://www.freevbcode.com/ShowCode.asp?ID=...&NoBox=True
вот второй 
http://www.devx.com/vb2themax/Tip/19031
обрати внимание на функцию
Код

' Return the textual description of a complex number

Function Text() As String
    If Imaginary = 0 Then
        Text = LTrim$(Real)
    ElseIf Real = 0 Then
        Text = LTrim$(Imaginary) & "i"
    ElseIf Imaginary > 0 Then
        Text = LTrim$(Real) & "+" & LTrim$(Imaginary) & "i"
    Else
        Text = LTrim$(Real) & LTrim$(Imaginary) & "i"
    End If
End Function



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0934 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.