КУРСОВАЯ
РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАЦИОН НЫЕ ТЕХНОЛОГИИ»
Выполнил: студент Billy Herrington
Группа: 1282
Постановка задачи
■Даны две функции: ,
Написать программу на языке MatLab для нахождения методом последовательных приближений координаты x n-ой по счету точки пересечения этих функций на интервале . Значения n пользователь вводит с клавиатуры при работе программы. Координатные значения определяются с заданной точностью (. Отобразите графически данные кривые в заданном диапазоне, включая точку пересечения.
Текст программы
clc; close all; clear;
eps=0.001;
e=eps;
r=3;
i = 0;
xn = 0; xk = 100; h = 0.1; x = xn : h : xk; f = @(x) cos(x) - sqrt(x/100);
Текст программы
while xn < xk
if f(xn) * f(xn + h) < 0 n = xn;
k = xn + h;
while abs(k - n) >= eps c = (n + k) / 2;
if f(n) * f(c) < 0 k = c;
elseif f(k) * f(c) < 0 n = c;
end
end
Текст программы
i=i+1
a(i) = (n + k) / 2;
end
xn = xn + h;
end
fprintf(‘Количество точек пересечения: %g\n', i); for j=1:i
fprintf(‘Координаты точек пересечения под номером %g - (%g, %g)\n', j, round(a(j), r), round(sqrt(a(j)/100), r));
end
hold on; grid on;
Текст программы
figure(1);
title(‘Графики функций y = cos(x) и y = sqrt(x/100)'); xlabel(‘Ось X');
ylabel(‘Ось Y'); plot(x, cos(x),'r');
plot(x, sqrt(x/100),'b'); plot(a, sqrt(a/100),'.k');
n=input(‘Введите номер точки пересечения:'); if n>=1 && n<=i
fprintf(‘Координаты точки пересечения под номером %g - (%g, %g)\n', n, round(a(n), r), round(sqrt(a(n)/100), r));
else
error(‘Точки пересечения под номером %g нет', n);
end
plot(a(n), sqrt(a(n)/100),'ok');
Выводы
В ходе выполнения курсовой работы научились работать в среде MATLAB и получили программу для нахождения методом последовательных приближений координаты x n- ой по счету точки пересечения этих функций на интервале [0,∞).
Также мы отобразили графически данные кривые в заданном диапазоне, включая точку пересечения.