Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
3-1161015844
Dik59
2006-10-16 20:24
2006.12.31
Разные ошибки одного запроса


4-1155966130
Андрей Пл
2006-08-19 09:42
2006.12.31
Вопрос по структуре DCB при работе с СОМ портом


15-1165485474
Vaitek__
2006-12-07 12:57
2006.12.31
Два вопроса по винде :-)


4-1156236803
Mechanic
2006-08-22 12:53
2006.12.31
Как остановить получение событий колеса мыши?


1-1163403828
V-A-V
2006-11-13 10:43
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский