Федеральное государственное автономное
образовательное учреждение
высшего профессионального образования
«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ
институт
Радиоэлектроники
кафедра
КУРСОВОЙ ПРОЕКТ
Вариант 4
ТАБУЛИРОВАНИЕ ФУНКЦИИ,
ВЫЧИСЛЕНИЕ СУММЫ РЯДА
ПОСРЕДСТВОМ СРЕДЫ MATLAB
Пояснительная записка
Студент, ____________ __________ _________________
номер группы подпись, дата инициалы, фамилия
Руководитель ___________ _________________
подпись, дата инициалы, фамилия
Красноярск 2011
Содержание
Введение. 3
Табулирование функции. 4
Задание. 4
Анализ функции. 4
Словесный алгоритм.. 6
Блок-схема алгоритма. 7
Текст программы на MatLab. 8
Результаты и графики. 10
Вычисление суммы бесконечного ряда. 11
Задание. 11
Рекуррентное соотношение. 12
Словесный алгоритм.. 13
Блок-схема алгоритма. 14
Текст программы на MatLab. 15
Результаты и графики. 17
Заключение. 18
Список литературы.. 19
В настоящее время MATLAB является мощным и универсальным средством решения задач, возникающих в различных областях человеческой деятельности. Спектр проблем, исследование которых может быть осуществлено при помощи MATLAB и его расширений (Toolbox), охватывает: матричный анализ, обработку сигналов и изображений, задачи математической физики, оптимизационные задачи, финансовые задачи, обработку и визуализацию данных, работу с картографическими изображениями, нейронные сети, нечеткую логику и многое другое.
Целями данного курсового проекта являются:
1. Создание алгоритма достаточно сложной задачи. Выделение из основной задачи подзадач. Построение алгоритма как последовательности обращений к этим подзадачам.
2. Продемонстрировать умение разрабатывать алгоритмы задач и реализовывать их на алгоритмическом языке высокого уровня с использованием всех возможностей языка.
Протабулировать функцию F(x,y) как зависимость от в диапазоне при одном значении y. В диапазоне от xb до xe необходимо вычислить n значений F(x,y).
В программе предусмотреть возможность повторения расчетов с новыми исходными данными, не выходя из программы.
Вариант №4
где
Исходные данные: y,xb, xe и n - число расчетов.
Результат: на экран необходимо вывести таблицу значений x,F(x,y).
Анализ функции
Определим область значений при которых данная функция
вычисляется. Известно, что функция имеет значение при , а функция не существует когда , т.е. при
. Кроме того не существует , когда . Значит необходимо, чтобы выполнялось . Решитьэто уравнение теоретически нелегко, поэтому организуем проверку на неравенство нулю этого выражения в программе.
Выводы:
неотрицательные, ,
1) Начало;
2) Ввод y,xb,xe,n;
3) Вычисление шага dx=(xe-xb)/(n-1);
4) Вывод шага dx;
5) x=xb;
6) Вычисление
7) Если то вычисление F; если , то вывод строчки
8) Вывод x,F;
9) x=x+dx;
10) x<=xe если да то переход на 6; если нет – на 11;
11) Вывод строчки «Повторить: 1 - Да, 0 – Нет»;
12) Ввод значения fl
13) Если (fl=1), то переход на строчку 2, если (fl=0), то переход на 14.
14) Конец.
Блок-схема алгоритма
% Табулирование функции вариант №4
function Fun4()
fl=1;
while fl==1
format long g % задаем формат вывода чисел
clc;
fig=figure('position',[190 200 900 550],'color',[0.8 0.3 0.1],'name','Табулирование функции','numbertitle','off','menubar','none');
ac=axes('units','normalized','position',[0.1 0.15 0.3 0.3],'xgrid','on','ygrid','on','xcolor',[1 0 0],'ycolor',[1 0 0]);
ad=axes('units','normalized','position',[0.1 0.65 0.3 0.3],'xgrid','on','ygrid','on','xcolor',[0 1 0],'ycolor',[0 1 0]);
af=axes('units','normalized','position',[0.55 0.15 0.3 0.3],'xgrid','on','ygrid','on','xcolor',[0 0 0],'ycolor',[0 0 0]);
zagolov=uicontrol('style','text','position',[550 480 150 40],'string','Вариант 4','fontsize',20,'foregroundcolor',[0 0 0],'backgroundcolor',[0.6 0.2 0.7]);
txmin=uicontrol('style','text','position',[550 450 50 20],'string','Xлев=','fontsize',10,'foregroundcolor',[0 0 0],'backgroundcolor',[0.6 0.2 0.7]);
etxmin=uicontrol('style','edit','position',[600 450 100 20],'fontsize',10,'string','2');
txmax=uicontrol('style','text','position',[550 410 50 20],'string','Xправ=','fontsize',10,'foregroundcolor',[0 0 0],'backgroundcolor',[0.6 0.2 0.7]);
etxmax=uicontrol('style','edit','position',[600 410 100 20],'fontsize',10,'string','4');
ty=uicontrol('style','text','position',[550 370 50 20],'string','y=','fontsize',10,'foregroundcolor',[0 0 0],'backgroundcolor',[0.6 0.2 0.7]);
ety=uicontrol('style','edit','position',[600 370 100 20],'fontsize',10,'string','-5.12');
tn=uicontrol('style','text','position',[550 330 50 20],'string','n=','fontsize',10,'foregroundcolor',[0 0 0],'backgroundcolor',[0.6 0.2 0.7]);
etn=uicontrol('style','edit','position',[600 330 100 20],'fontsize',10,'string','350');
kras=uicontrol('style','togglebutton','position',[610 290 85 30],'string','РАСЧЁТ','fontsize',14,'foregroundcolor','blue');
kout=uicontrol('style','togglebutton','position',[610 250 85 30],'string','ВЫХОД','fontsize',14,'foregroundcolor','blue');
per=1;
while per==1
pause(0.01);
kvout=get(kout,'value');
kvras=get(kras,'value');
if kvout==1
set(kout,'value',0);
per=0;
close(gcf);
end
if kvras==1
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.