Помогите написать программу. Делфи

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by A777AX, 7 Jan 2017.

  1. A777AX

    A777AX New Member

    Joined:
    6 Jan 2017
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток, товарищи! Очень сильно нуждаюсь в вашей помощи и поддержке.
    Задача звучит так:
    Известны и задаются изначально T, tay и e.
    Необходимо найти множество значений Е на интервале времени t.

    t изменяется в диапазоне от 0 до Т(период)

    Е – угол

    Исходное уравнение:

    0=tay+(T/2П)*(E-e*sin(E))-t

    Это уравнение возможно решить только численно.

    Потом полученное множество значений Е используется для нахождения двух промежуточных, а затем двух искомых углов по значениям которых необходимо построить график зависимости друг от друга, но мне хотя бы для начала разобраться с решением уравнения для различных моментов времени.

    Ниже мои тщетные попытки что-то накодить:

    Code:
    var
    a,b,d,e,g,y,i,xk,xk1:double;
    k:integer;
    function F(x:double): double;
    begin
    F:=a+(b/6.28)*(x-e*sin(x))-i;
    end;
    function F1(x:double): double;
    begin
    F1:=(b/6.28)*(1-e*cos(x));
    end;
    begin
    a:=strtofloat(edit1.text);
    b:=strtofloat(edit2.text);
    i:=0;
    d:=strtofloat(edit4.text);
    e:=strtofloat(edit5.text);
    g:=strtofloat(edit6.text);
    while i=>b do
    begin
    y:=F(xk);
    while abs(y)<=0.0001 do
    begin
    xk1:=xk-F(xk)/F1(xk);
    xk:=xk1;
    y:=F(xk1);
    end;
    i:=i+10;
    end;
    edit7.text:=floattostr(xk1);
    end;
    
    end.
    

     
    #1 A777AX, 7 Jan 2017
    Last edited: 7 Jan 2017
Loading...
Similar Threads - Помогите написать программу
  1. Peja
    Replies:
    0
    Views:
    2,535