ݺߣ

ݺߣShare a Scribd company logo
Отчет по выполнению задания №06
Вычисление суммы ряда
Вариант №2
ЗАДАНИЕ
1. Прежде чем писать файл сценария, составить для данного ряда рекуррентное соотношение, позволяющее вычислить последующий
член ряда через предыдущий.
2. Ввести переменную x с клавиатуры, задать начальные значения для члена ряда, суммы ряда. Организовать цикл расчёта текущего члена
ряда и текущей суммы ряда, используя их предыдущие значения.
3. Цикл продолжать, пока не будет достигнута точность 10−5
. Вывести из цикла в отдельный текстовый файл номер текущего члена ряда,
его значение и значение текущей суммы в виде таблицы. После окончания цикла вывести в командное окно полученную сумму.
Код m-программы:
clear;
clc;
%сумма бесконечного ряда для вычисления синуса
x=input('Введите значение переменной x (в градусах): ');
x = (x * pi)/180; % перевод радиан в градусы
n=0;
a=x;
S=0;
e=0.00001;
f = fopen('my_result.txt','w');
while abs(a)>e
S=S+a;
fprintf(f,'%5d %20.5f %20.5f rn',n,a,S);
a=-a*x*x/((2*n+2)*(2*n+3)); % рекуррентная формула;
n=n+1;
end
fclose(f);
disp(['Сумма равна ' num2str(S)]);
disp(['Число иттераций ' num2str(n)]);
disp(['Ошибка равна ' num2str(a)]);
disp(['Точное значение ' num2str(sin(x))]);
Результат:
my_result.txt
1
2

More Related Content

Matlab: Вычисление суммы членов ряда

  • 1. Отчет по выполнению задания №06 Вычисление суммы ряда Вариант №2 ЗАДАНИЕ 1. Прежде чем писать файл сценария, составить для данного ряда рекуррентное соотношение, позволяющее вычислить последующий член ряда через предыдущий. 2. Ввести переменную x с клавиатуры, задать начальные значения для члена ряда, суммы ряда. Организовать цикл расчёта текущего члена ряда и текущей суммы ряда, используя их предыдущие значения. 3. Цикл продолжать, пока не будет достигнута точность 10−5 . Вывести из цикла в отдельный текстовый файл номер текущего члена ряда, его значение и значение текущей суммы в виде таблицы. После окончания цикла вывести в командное окно полученную сумму. Код m-программы: clear; clc; %сумма бесконечного ряда для вычисления синуса x=input('Введите значение переменной x (в градусах): '); x = (x * pi)/180; % перевод радиан в градусы n=0; a=x; S=0; e=0.00001; f = fopen('my_result.txt','w'); while abs(a)>e S=S+a; fprintf(f,'%5d %20.5f %20.5f rn',n,a,S); a=-a*x*x/((2*n+2)*(2*n+3)); % рекуррентная формула; n=n+1; end fclose(f); disp(['Сумма равна ' num2str(S)]); disp(['Число иттераций ' num2str(n)]); disp(['Ошибка равна ' num2str(a)]); disp(['Точное значение ' num2str(sin(x))]); Результат: my_result.txt 1
  • 2. 2