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

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

19 страниц (Word-файл)

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

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

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

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

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

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

институт

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

кафедра

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

Вариант 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

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

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