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

Страницы работы

Содержание работы

Федеральное государственное автономное

образовательное учреждение

высшего профессионального образования

«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

институт

Радиоэлектроники

кафедра

КУРСОВОЙ ПРОЕКТ

Вариант 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)  Конец.

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


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

% Табулирование функции вариант №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

Похожие материалы

Информация о работе