Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Вниз

ArcCos x(квадрат)   Найти похожие ветки 

 
azl ©   (2006-12-13 18:31) [0]

Здравствуйте, мастера. Помогите правильно записать ArcCos x в квадрате. Использую модуль Math.
Пишу:
var
 z : Real; либо z: Extended;
begin
 z := ArcCos(sqr(x));
...
end;
Выдается ошибка Invalid floating point operation.

Даже если просто вычисляю ArcCos(x)

z := ArcCos(x) //тоже выдается ошибка

Как это побороть можно?
Спасибо.


 
Рамиль ©   (2006-12-13 18:35) [1]

Случаем abs(x)>1 ?


 
Jeer ©   (2006-12-13 18:36) [2]

x не инициализирован


 
azl ©   (2006-12-13 18:58) [3]

Да, забыл написать
Const
 x=10,093


 
azl ©   (2006-12-13 18:59) [4]

Почему ошибка? Я просто в пример забыл дописать X. А так я это писал в программе.


 
Alx2 ©   (2006-12-13 19:10) [5]

>azl ©   (13.12.06 18:59) [4]
>Const
> x=10,093

На вещественных числах косинус принимает значение от -1 до 1.
Вы же ищете вещественное число, на он бы принял значение 10 с хвостиком.
Т.е. желаете странного


 
SergP ©   (2006-12-13 19:12) [6]

abs(x) не может превышать 1 (в мирное время)
В военное может быть не более 4.
:-)


 
azl ©   (2006-12-13 19:35) [7]

Понимаю, так а как же быть? Задание такое мне дали.
Записать  арифметическое  выражение:

Z = ArcCosr(x)в квадрате -a* sqrt(корень)(x) + (sin в кубе(Pi/2+a))/lg2x
при  а = 0.94  и  х =10.093

На Visual Basic это выглядит так:

Private Sub Command1_Click()
Dim z As Single
Const a = 0.94, x = 10.093, p = 3.14
z = Cos(x) ^ 2 - a * Sqr(x) + (Sin(p / 2 + a) ^ 3) / Log(2 * x)
Text1.Text = z
End Sub

Private Sub Command2_Click()
End
End  Sub

Не знаю, работает это или нет, т.к. не знаю Visual Basic, но говорят, что работает.

Я пишу так:
const
  a = 0,94; b = 10,093;
var
 z: real;
begin
 z := ArcCos(sqr(x)) - a * sqrt(x) + (exp(3 * ln(Sin(Pi / 2 + a)))) / Log10(2 * x);
 Label1.Caption := FloatToStr(z);
end;
Если пишу вместо ArcCos - просто Cos, все работает.


 
Alx2 ©   (2006-12-13 19:43) [8]

>azl ©   (13.12.06 19:35) [7]

Именно ArcCosr? То есть "r" в конце?
Значит, имеется в виду вещественное значение главной ветви арккосинуса?
Или все-таки описка?


 
Alx2 ©   (2006-12-13 19:49) [9]

Если не описка, то это значение для abs(x)>1 есть 0.
При x по модулю больше единицы весь arccos(x) сидит на комплексной оси


 
Alx2 ©   (2006-12-13 19:50) [10]

Поправочка: не для abs(x)>1, а для x>1


 
Alx2 ©   (2006-12-13 20:12) [11]

Еще одна поправочка. arccos идет в квадрате. А это уже другой разговор.
Вот формула:
arccos(x)^2 = - ln(x+sqrt(x^2-1))^2


 
azl ©   (2006-12-13 20:23) [12]

Нет, это опечатка. правильно - ArcCos. А я и не писал нигде abs(x) и сразу написал, что в квадрате, ArcCos(x)^2. > ArcCos x в квадрате.

Т.е. на паскале это можно записать так:
sqr(ln(x+sqrt(sqr(x)-1)))?
или
так sqr(ln(x+sqrt(sqr(x-1))))?


 
azl ©   (2006-12-13 20:24) [13]

Забыл минус перед ln дописать


 
Alx2 ©   (2006-12-13 20:29) [14]

>azl ©  

Вместо ArcCos(x)^2
написать
- sqr(ln(x+sqrt(sqr(x)-1)))

Но важно еще и другое: возможно, в задании опечатка со значением x=10..
Правда, если с комплексными функциями уже работаете, то скорее всего, это нормально.


 
azl ©   (2006-12-13 20:35) [15]


> Alx2

Спасибо большое.
Это не мое задание, просто студентка одна попросила решить. А опечатка там или нет, я не знаю.
Вроде бы работает. Ответ выдает такой: -11,8442912098953

procedure TForm1.Button1Click(Sender: TObject);
const
 a=0.94; x=10.093;
var
 z: real;
begin
  z:=-sqr(ln(x+sqrt(sqr(x)-1))) - a * sqrt(x) + (exp(3 * ln(Sin(Pi / 2 + a)))) / Log10(2 * x);
  Label1.Caption := FloatToStr(z);
end;



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.043 c
15-1164881140
Rule
2006-11-30 13:05
2006.12.31
Опять я со своиим вопросами про кроссплатформенность а точнее про


15-1165867511
Handle
2006-12-11 23:05
2006.12.31
TrayBar


15-1165839388
Romas81
2006-12-11 15:16
2006.12.31
программный менеджер для мобильного


15-1166009415
DVM
2006-12-13 14:30
2006.12.31
2 видеокарты с двумя выходами = 4 монитора реально?


15-1165748672
Firefly
2006-12-10 14:04
2006.12.31
Скорость расчета





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский