Важная информация
Показано с 1 по 2 из 2

Тема: Уточнение корня методом дихотомии и касательных

  1. #1 Уточнение корня методом дихотомии и касательных 
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    arcsin(x/3)-sqr(1-(x/3)^2)=0
    a=1,5 : b=3 : e=10^-3
    F(x)=arcsin(x/3)-sqr(1-(x/3)^2)
    F1(x)=(1/3+x/9)*(sqr((-x^2)/9+1))^-1
    F2(x)=(1 / SQR((1 / 9) * x ^ 2 + 1) * ((2 / 81) * x ^ 2) + (1 / 9) + (1 / 27) * x)
    Пишет "Subscript out of range", ошибка на 48-й строке, где ввод первой функции идет

    Код QBASIC:
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    [Ссылки могут видеть только зарегистрированные пользователи. ] "Validation of an existing root:"
    [Ссылки могут видеть только зарегистрированные пользователи. ] "y=arcsin(x/3)-sqr(1-(x/3)^2)"
    REM [Ссылки могут видеть только зарегистрированные пользователи. ] segment with the existing test solutions
    DO
        a = 1.5: b = 3
        e = 10 ^ -3
    LOOP WHILE F(a) * F(b) > 0
    REM Dichotomy method [Ссылки могут видеть только зарегистрированные пользователи. ] bisection of the interval
    CALL dix(a, b, e, root)
    [Ссылки могут видеть только зарегистрированные пользователи. ] "Roots by the method of dichotomy=", root
    [Ссылки могут видеть только зарегистрированные пользователи. ] "Value of F(x)=";
    [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] "##.######"; F(root)
    [Ссылки могут видеть только зарегистрированные пользователи. ] "---------------------------"
    REM Method of tangents [Ссылки могут видеть только зарегистрированные пользователи. ] Newtone's method
    [Ссылки могут видеть только зарегистрированные пользователи. ] "Enter the initial value of the root in (a; b) X0=", x
    IF F(x) * F2(x) > 0 THEN
        [Ссылки могут видеть только зарегистрированные пользователи. ] "Method of tangents (Newton) is applicable"
        a = 1.5: b = 3
        CALL kas(a, b, x, e, root)
        [Ссылки могут видеть только зарегистрированные пользователи. ] "Root by the method of tangents", root
        [Ссылки могут видеть только зарегистрированные пользователи. ] "Value of F(x)="
        [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] "##.######"; F(root)
    ELSE
        [Ссылки могут видеть только зарегистрированные пользователи. ] "Method of tangents (Newton) does not apply"
    [Ссылки могут видеть только зарегистрированные пользователи. ] IF
    [Ссылки могут видеть только зарегистрированные пользователи. ] "---------------------------"
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    SUB dix (a, b, e, root)
    x = (a + b) / 2
    DO
        IF F(x) * F(a) < 0 THEN
            b = x
        ELSE
            a = x
        [Ссылки могут видеть только зарегистрированные пользователи. ] IF
        x = (b + a) / 2
    LOOP UNTIL (b - a) < e
    root = (b + a) / 2
    [Ссылки могут видеть только зарегистрированные пользователи. ] SUB
    SUB kas (a, b, x, e, root)
    DO
        x = x - F(x) / F1(x)
    LOOP UNTIL [Ссылки могут видеть только зарегистрированные пользователи. ](F(x) / F1(x)) < e
    root = x
    [Ссылки могут видеть только зарегистрированные пользователи. ] SUB
    FUNCTION F (x)
    F = arcsin(x / 3) - [Ссылки могут видеть только зарегистрированные пользователи. ](1 - (x / 3) ^ 2)
    [Ссылки могут видеть только зарегистрированные пользователи. ] FUNCTION
    FUNCTION F1 (x)
    F1 = (1 / 3 + x / 9) * ([Ссылки могут видеть только зарегистрированные пользователи. ]((-x ^ 2) / 9 + 1)) ^ -1
    [Ссылки могут видеть только зарегистрированные пользователи. ] FUNCTION
    FUNCTION F2 (x)
    F2 = (1 / [Ссылки могут видеть только зарегистрированные пользователи. ]((1 / 9) * x ^ 2 + 1) * ((2 / 81) * x ^ 2) + (1 / 9) + (1 / 27) * x)
    [Ссылки могут видеть только зарегистрированные пользователи. ] FUNCTION
    Ответить с цитированием  
     

  2. #2  
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    всё нормально, исправил давно уже))
    Последний раз редактировалось Stannum; 06.04.2013 в 15:58.
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 03.06.2011, 10:32
  2. Ответов: 0
    Последнее сообщение: 03.06.2011, 01:35
  3. Ответов: 10
    Последнее сообщение: 10.01.2011, 22:05
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •