Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Пытаюсь создать выражение, но где-то ошибка (http://www.tehnari.ru/f43/t58552/)

dimaua2 15.10.2011 11:15

Пытаюсь создать выражение, но где-то ошибка
 
Вложений: 1
Y:=Exp((1/5)*ln(1-5*sqr(x)))/Exp(sin(x)/cos(x)*2);
что тут неправильно?
выражение такое
Вложение 52458
знал бы как написать тут написал (не знаю как писать степень и дробь)

AlexZir 15.10.2011 13:11

Знак радикала на всю дробь или только в числителе?

dimaua2 15.10.2011 14:02

в числителе

dimaua2 15.10.2011 14:04

Y:=Exp((1/5)*(1-5*sqr(x)*2))/Exp(sin(x)/cos(x)*2); вроде получилось...но игрик у меня почему-то 0 правильно ли я формулу составил?

kreol 15.10.2011 15:01

а у тангенса какой аргумент???

dimaua2 15.10.2011 16:51

у тангенса просто степень 2х

kreol 15.10.2011 17:13

эээ такого не бывает!!!

Vladimir_S 15.10.2011 18:29

Цитата:

Сообщение от dimaua2 (Сообщение 601519)
у тангенса просто степень 2х

Цитата:

Сообщение от kreol (Сообщение 601529)
эээ такого не бывает!!!

Действительно, друг мой, полная чушь. Тангенс (равно как и любая другая функция) обязательно должен иметь аргумент, то есть быть тангенсом чего-то, а не "просто". Ладно, обозначим аргумент тангенса буквой z.
А формула Ваша до того неправильна, что просто абсолютно неправильна.
Прежде всего, Вы не знаете, как возводить в степень. Если число γ есть положительное число α, возведенное в степень β, то
γ = Exp(β*Ln(α))
а у Вас я напрочь не вижу логарифмов.
Теперь пойдем дальше. Заметим, что выражение, стоящее под знаком радикала, при x>0 отрицательно, а потому впрямую применять приведенную выше формулу нельзя (логарифм бывает только от строго положительных величин), но, тем не менее, корень нечетной степени из отрицательного числа извлечь можно. Так что тут потребуется ветвление программы.
Код:

if x<0 then
 y:= Exp((1/5)*Ln(1-Exp(2*x*Ln(5))))/Exp(2*x*Ln(Sin(z)/Cos(z)))
else
if x>0 then
 y:= -Exp((1/5)*Ln(Exp(2*x*Ln(5))-1))/Exp(2*x*Ln(Sin(z)/Cos(z)))
else
 y:=0;


dimaua2 16.10.2011 20:50

мы такого еще не учили)

dimaua2 16.10.2011 20:54

Program 2;
uses CRT;
var x,y:real;
begin
clrscr;
x:=3;
while x<=5 do
begin
Y:=Exp((1/5)*(1-5*sqr(x)*2))/Exp(sin(x)/cos(x)*2);
writeln('x= ',x:3:2,' Y= ',Y:3:2);
x:=x+0.2;
end;
readln;
end.

вот что я пытался сделать


Часовой пояс GMT +4, время: 12:43.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.