Табулирование функции, вычисление суммы ряда посредством среды MatLab, страница 2

    y=str2num(get(ety,'string'));

    xb=str2num(get(etxmin,'string'));

    xe=str2num(get(etxmax,'string'));

    n=str2num(get(etn,'string'));

    dx=abs(xe-xb)/(n-1)

    x=xb:dx:xe;

    b=1/tan(y^5)-exp(sin(y));

    C=y*cos(x.^3)-y^2./sqrt(x);

    if b~=0

     F=abs(C).^(log(abs(b)))+b

    end  

        axes(ac);

        plot(x,C);

        grid;

        ylabel('C');

        xlabel('x');

        axes(ad);

        plot(x,b);

        grid;

        ylabel('D');

        xlabel('x');

        axes(af);

        plot(x,F);

        grid;

        ylabel('F');

        xlabel('x');

        set(kras,'value',0);

      end

        clc;

end

input('Работу выполнил Гальперин Михаил ')

fl=input('Повторить расчеты 1 - Да, 0 - Нет?');

end

Результаты и графики

Рисунок 1 – результаты расчетов

Вычисление суммы бесконечного ряда

Задание

Составить программу вычисления суммы бесконечного ряда(интегральный синус):

с точностями , для z=0.7, z=0.5

В программе предусмотреть возможность повторения расчетов с новыми исходными данными, не выходя из программы.

Рекуррентное соотношение

Найдем рекуррентное соотношение:

;;,…, 

Итак, рекуррентное соотношение для элементов ряда:

где

Будем вычислять сумму не бесконечного числа членов, а конечного, это конечное число  m  определяется относительной точностью согласно соотношению:

Словесный алгоритм

1)  Начало.

2)   Полагаем n=0, вычисляем нулевой член  , вычисляем сумму S.

().

3)  Проверяем соотношение:

   Если соотношение ложь, т.е. очередной член по сравнению с   суммой еще  велик, то необходимо перейти к пункту 4 и продолжить накопление суммы.

   Если соотношение истина, т.е. очередной вычисленный член    меньше накопленной суммы в  раз, то вычисление заканчивается, а накопленная сумма и есть результат – переход к пункту 8.

4)  Увеличиваем n на 1 ().

5)  Вычисляем рекуррентный множитель

6)  Вычисляем следующий член: .

7)  Прибавляем его к сумме: , переход на строчку 3

8)  Вывод результата.

9)  Конец.

В данной программе используется цикл с предусловием.

Блок-схема алгоритма

Текст программы на MatLab

% Вычисление суммы бесконечного ряда

function Sum4

format long g % задаем формат вывода чисел

fl=1;

while fl==1

clc;

fig=figure('position',[190 200 900 550],'color',[0.8 0.3 0.1],'name','Вычисление суммы ряда','numbertitle','off','menubar','none');

zagol=uicontrol('style','text','position',[370 480 150 40],'string','Вариант 4','fontsize',20,'foregroundcolor',[0 0 0],'backgroundcolor',[0.6 0.3 0.1]);

kras=uicontrol('style','togglebutton','position',[400 240 85 30],'string','РАСЧЁТ','fontsize',14,'foregroundcolor','blue');