Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2009, 15:28   #11
Niarb
Пользователь
 
Регистрация: 23.02.2009
Сообщений: 38
По умолчанию

график не строится потому что ты выводишь одну точку, а надо это выполнять в цикле
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  for W:=1 to 100 do BEGIN
    cosin:=Cos(5.65685424949238*IntPower(10,9)*(2*d1+d2)*Sqrt(Abs(W)));
  if cosin=0.0 then cosin:=1;
    Series1.AddXY(W, ......, '', clBlack); END;
  for j:=-10 to 10 do
    Series2.AddXY(j,0,'',clBlack);

  for k:=-100 to 100 do
   Series3.AddXY(0,k,'',clBlack);

end;
....
а под упрощением понимается избавление от очень больших величин в расчетах...
Чем меньше вы знаете, тем больше я ценен как специалист...
Niarb вне форума Ответить с цитированием
Старый 02.04.2009, 01:29   #12
xMass
Пользователь
 
Регистрация: 20.05.2008
Сообщений: 23
По умолчанию

Поставил бегин и енд, убрал интповеры, получилось такое:

for W:=1 to 100 do begin
cosin:=Cos(5.65685424949238*IntPowe r(10,9)*(2*d1+d2)*Sqrt(Abs(W)));
if cosin=0.0 then cosin:=1;
Series1.AddXY(W, ((Exp((-1.131370849898476*d1-5.65685424949238*d2)*Sqrt(Abs(U-W))))/cosin)
*((-3.2*Exp(1.131370849898476*d1*Sqrt(A bs(U-W)))+3.2*Exp(1.131370849898476*(d1+ d2)*Sqrt(Abs(U-W))))*W
*Power(Cos(5.65685424949238*d1*Sqrt (Abs(W))),2)+(-3.2
*Exp(1.131370849898476*d1*Sqrt(Abs( U-W)))+3.2*Exp(1.131370849898476*(d1+ d2)*Sqrt(Abs(U-W))))*(U-W)*IntPower(Sin(5.65685424949238
*d1*Sqrt(Abs(W))),2)+(3.2*Exp(1.131 370849898476*d1*Sqrt(Abs(U-W)))+3.2*Exp(1.131370849898476
*(d1+d2)*Sqrt(Abs(U-W))))*Sqrt(Abs(U-W))*Sqrt(Abs(W))*Sin(1.131370849898 476
*d1*Sqrt(Abs(W)))), '', clBlack); end;

ввел значения d1=10 d2=5 u=7 строится прямая y=0. Вожу любые другие значения все равно y=0. Какая же это прямая?

Ну хорошо, вот мы поставили бегин и енд, но почему тогда, объясните, без бегин и енд строятся графики

for j:=-10 to 10 do
Series2.AddXY(j,0,'',clBlack);

for k:=-100 to 100 do
Series3.AddXY(0,k,'',clBlack);

Что-то одну воду советуете пока, ниодного совета пока не помогло.

Последний раз редактировалось xMass; 02.04.2009 в 01:35.
xMass вне форума Ответить с цитированием
Старый 02.04.2009, 01:37   #13
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
но почему тогда, объясните, без бегин и енд строятся графики
Очень просто...

В цикле будет выполняться только оператор следующий за "do" и если в цикле требуется выполнить только один оператор (как в тех, что ты написал), то "бегин и енд" можно и не писать...


P.S.
Цитата:
ввел значения d1=10 d2=5 u=7 строится прямая y=0. Вожу любые другие значения все равно y=0.
Я не в курсе, что это за формула такая... Может "убрав интповеры" и получается функция прямой "Y=0"...

Я уже писал: "Для начала замени эту формулу на какую-нибудь простую..." - чтоб знать наверняка что должно получаться...


P.P.S.
Например воть:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
For W:=0 To 360 Do
      Begin
      cosin:=Cos(W/180*Pi);
      If cosin<0 then
            cosin:=-cosin;
      Series1.AddXY(W, cosin, '', clBlack);
      End;
End;
I am the First of Cyber Evolution...
I am the First to Program your Future...

Последний раз редактировалось DomiNick; 02.04.2009 в 01:48.
DomiNick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странная проблема с floating-point Niello Общие вопросы C/C++ 0 08.10.2008 14:30
Invalid floating point operation Skytis Помощь студентам 3 07.05.2008 12:16
при пустой ячейке выскакивает "is not a valid floating point value" ПОМОГИТЕ serserser Помощь студентам 17 14.11.2007 07:46