98516

Построение семейства графиков функции с помощью MatLab

Курсовая

Информатика, кибернетика и программирование

Тригонометрические функции — элементарные функции, которые исторически возникли при рассмотрении прямоугольных треугольников и выражали зависимости сторон этих треугольников от острых углов при гипотенузе (или, что равнозначно, зависимость хорд и высот от центрального угла (дуги) в круге).

Русский

2015-11-04

2.31 MB

4 чел.

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

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

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

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

Институт инженерной физики и радиоэлектроники

Кафедра «Радиотехники»

    

  

КУРСОВАЯ РАБОТА

        Руководитель                                   ________            М.М.Валиханов

                                                                                 подпись, дата                 инициалы, фамилия 

        Студент  РФ13-42Б  051311003      ________            М.Ю.Чулкова

                                  номер группы, зачетной книжки    подпись, дата                 инициалы, фамилия

Красноярск 2015

РЕФЕРАТ

В данной курсовой работе производится:

  1.  Построение графиков функций заданных экспонентой и косинусом;
  2.  Вычисление суммы функции;
  3.  Построение семейства графиков функции.

Курсовая работа состоит из 30 страниц, содержит 22 рисунка, 2 приложения. В приложениях представлены коды программ.

Задание

1. Сформировать функцию:

где  n(x)  –  для  каждого нового x случайное число  с равномерным законом

распределения  из интервала (-0.5, 0.5);  x  изменяется дискретно с шагом 1 в

интервале (0,N-1).

2. Записать в файл N отчетов f(x).

3. Сформировать функцию q(x) по закону:

4. Вычислить функцию h(x):

функцию f(x) вне интервала аргумента (0,N-1) считать равной нулю.

5. Построить семейство графиков f(x) и h(x) при следующих параметрах:

a1= 0.001, a2= 0.001, a3= 0.01,

b1= 0.01, b2= 0.05, b3= 0.1,

Значение N≥300.

СОДЕРЖАНИЕ

Введение 4

1 Графики тригонометрических и экспоненциальной функций 6

2 Реализация 8

2.1 Реализация в Matlab 8

2.2 Реализация в Microsoft Visual Studio 13

3 Результаты 16

3.1 Результаты в Matlab 16

3.2 Результаты в Microsoft Visual Studio 18

Заключение 21

Список использованных источников 22

Приложение А 23

Приложение Б 26

ВВЕДЕНИЕ

Тригонометрические функции — элементарные функции, которые исторически возникли при рассмотрении прямоугольных треугольников и выражали зависимости сторон этих треугольников от острых углов при гипотенузе (или, что равнозначно, зависимость хорд и высот от центрального угла (дуги) в круге). Эти функции нашли широчайшее применение в самых разных областях науки. Впоследствии определение тригонометрических функций было расширено, их аргументом теперь может быть произвольное вещественное или даже комплексное число. Наука, изучающая свойства тригонометрических функций, называется тригонометрией.

К тригонометрическим функциям относятся:

  1.  Прямые тригонометрические функции

синус (sin x), косинус (cos x)

  1.  Производные тригонометрические функции

тангенс (tg x), котангенс (ctg x)

  1.  Другие тригонометрические функции

секанс (sec x), косеканс (cosec x).

Тригонометрические вычисления и функции применяются практически во всех областях геометрии, физики и инженерного дела.
Большое значение имеет техника триангуляции, позволяющая измерять расстояния до недалёких звёзд в астрономии, между ориентирами в географии, контролировать системы навигации спутников. Также следует отметить применение тригонометрии в таких областях, как техника навигации, теория музыки, акустика, оптика, анализ финансовых рынков, электроника, теория вероятностей, статистика, биология, медицина, фармацевтика, химия, теория чисел (и, как следствие, криптография), метеорология, картография, многие разделы физики, топография и геодезия, архитектура, фонетика, экономика, электронная техника, машиностроение, компьютерная графика, кристаллография.

1.Графики тригонометрических и экспоненциальных функций.

Для определения точных значений строят различные графики.

  1.  График функции синус

y = sin x, область определения: x  R, область значений: −1≤sinx≤1  

Рисунок 1 – График функции синус

  1.  График функции косинус

y = cos x, область определения: x  R, область значений: −1 ≤ cos x ≤ 1

Рисунок 2 – График функции косинус

  1.  График функции секанс 

y=sec x, область определения: x R, x≠ (2k+1)π/2, область значений:   

sec x(−∞,−1][1,∞) 

Рисунок 3 – График функции секанс

  1.  График функции косеканс 

y=csc x, область определения: x R , x≠ kπ, область значений:  

csc x(−∞,−1][1,∞) 

Рисунок 4 – График функции косеканс

  1.  График функции тангенс 
    y=tan x, область определения: x
    R, x≠(2k+1)π/2, область значений: −∞<tan x<∞ 

Рисунок 5 – График функции тангенс

  1.  График функции котангенс 
    y=cot x, область определения: x
    R, x≠ kπ, область значений: 

−∞<cot x<∞ 

Рисунок 6 – График функции котангенс

  1.  График экспоненциальной функции.

Рисунок 7 – График экспоненциальной функции

2.Реализация.

2.1 Реализация в Matlab.

MatLab обладает широким набором средств для построения графиков функций одной и двух переменных и отображения различных типов данных. Все графики выводятся в графические окна со своими меню и панелями инструментов. Вид графиков определяется аргументами графических команд и затем может быть изменен при помощи инструментов графического окна. Важно понимать, что для построения графиков функций на некоторой области изменения аргументов следует вычислить значения функции в точках области, часто для получения хороших графиков следует использовать достаточно много точек.

Разберем сначала, как получить график функции одной переменной, к примеру:   

 на отрезке [-2,2].

Первый шаг состоит в задании координат точек по оси абсцисс.

Заполнение вектора x элементами с постоянным шагом при помощи двоеточия позволяет просто решить эту задачу. Далее необходимо поэлементно вычислить значения f (x) для каждого элемента вектора x и записать результат в вектор f. Для построения графика функции осталось использовать какую-либо из графических функций MatLab.  Достаточно универсальной графической функцией является plot. В самом простом случае она вызывается с двумя входными аргументами — парой x и f (т. е. plot выводит зависимость элементов одного вектора от элементов другого).           Последовательность команд, записанная ниже, приводит к появлению графического окна Figure No.1 с графиком функции (рис. 4).

>> x=[-2:0.05:2];

>> f=exp(x).*sin(pi*x)+x.^2;

>> plot(x,f)

Рисунок 8 – График функции f.

Тип линии, цвет и маркеры определяются значением третьего дополнительного аргумента функции plot. Этот аргумент указывается в апострофах, например, вызов plot(x,f,'ro:') приводит к построению графика красной пунктирной линией, размеченной круглыми маркерами. Обратите внимание, что абсциссы маркеров определяются значениями элементов вектора x. Всего в дополнительном аргументе может быть заполнено три позиции, соответствующие цвету, типу маркеров и стилю линии. Обозначения для них приведены в табл. 4.1. Порядок позиций может быть произвольный, допустимо указывать только один или два параметра, например, цвет и тип маркеров. Посмотрите на результат выполнения следующих команд: plot(x,f,'g'), plot(x,f,'ko'), plot(x,f,':').

Функция plot имеет достаточно универсальный интерфейс, она, в частности, позволяет отображать графики нескольких функций на одних осях.

Пусть требуется вывести график не только f (x), но и на отрезке [-2,2]. Сначала необходимо вычислить значения g(x):

>> g=exp(-x.^2).*sin(5*pi*x);

а затем вызвать plot, указав через запятую пары x, f и x, g и, при желании, свойства каждой из линий:

>> plot(x,f,'ko-', x,g,'k:')

Допускается построение произвольного числа графиков функций, свойства всех линий могут быть различными. Кроме того, области построения каждой из функций не обязательно должны совпадать, но тогда следует использовать разные вектора для значений  аргументов и вычислять значения функций от соответствующих векторов.

2.1.1

В данной программе использовались операторы:

plot – вывод графика на экран;

grid on – нанесение сетки на координатную ось;

title – подпись графика;

legend – подпись линий графиков;

xlabel, ylabel – подпись осей.

Рисунок 9 – Блок-схема

2.1.2.

Для реализации программы создаем файл-функцию S = Untitled8.m;

Задаем массив состоящий из нулей, используем цикл for для задания промежутков, формируем сумму ряда S(y). Вызываем функцию при помощи команды S= UntitledUl (a, b, N). При помощи команды plot строим графики этой функции.

Рисунок 10 – Блок-схема для файл-функции

2.1.3

Рисунок 11 – Блок-схема

2.2.Реализация в Microsoft Visual Studio

2.2.1

Рисунок 12 – Блок- схема

2.2.2.

Рисунок 13 – Блок-схема

2.2.3

Рисунок 14 – Блок-схема

3. Результаты

3.1 Результаты в Matlab.

3.1.1.

Рисунок 15 – Семейство кривых функции Y(x).

3.1.2.

Рисунок 16 – График кривой функции q(x)

3.1.3.

Рисунок 17 – Семейство кривых функции h(x) и f(x)

3.2.Результаты в Microsoft Visual Studio

3.2.1

Рисунок 18 – Значения функции Y(x).

 

 

3.2.2.

Рисунок 19 – Значения функции q(x).

3.2.3.

Рисунок 20 – Результат работы программы

для нахождения суммы ряда при a1=0,001 и b2=0,01

Рисунок 21 – Результат работы программы

для нахождения суммы ряда при a2=0,001 и b2=0,5

Рисунок 22 – Результат работы программы

для нахождения суммы ряда при a3=0,01 и b3=0,1

ЗАКЛЮЧЕНИЕ

Используя MatLab в качестве инструмента для построения графиков функций синусов, косинусов, их модулей и аргументов можно быстро и эффективно определять значения и сравнивать их.  Разнообразие встроенных функций численных вычислений позволяет решать практически любую задачу с высокой точностью. В ходе работы были вычислены суммы комплексной переменной и построены их графики. Графики позволяют наглядно определять изменение функции ее модуля и аргумента. Это позволяет значительно сокращать время при работе с различными функциями и получать результат.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1.  Ануфриев И. Е. Самоучитель MatLab 5.3/6.x. – СПб.: БХВ-Петербург, 2002. – 736 с.: ил.
  2.  Лаврентьев М. А., Шабат Б. В. Методы теории функций комплексного переменного.— М.:Наука, 1965, 716 с. 

http://www.apmath.spbu.ru/ru/staff/starkov/tfkp-part1.pdf

  1.  Определение и графики тригонометрических функций.

http://www.math24.ru/definition-of-trigonometric-functions.html

ПРИЛОЖЕНИЕ А

2.1.1.

a = 0.001;

b = 0.01;

N = 400;

x = [0:1:N];

n=rand(1)-0.5;

f1=exp(-a*x).*cos(b*x)+n

a = 0.001;

b = 0.05;

f2 =exp(-a*x).*cos(b*x)+n  

a = 0.01;

b = 0.1;

f3 = exp(-a*x).*cos(b*x)+n

f=fopen('Untitled6.txt','wb');

fprintf(f,'%f %f %f\n',f1,f2,f3)

plot(x, f1 ,'k-', x, f2, 'k:', x, f3, 'k--', 'LineWidth',3);

grid on;

title('График функции exp(-ax) cos(bx)+n');

xlabel('значения  x');

ylabel('значения  Y(x)');

legend('a = 0.001, b = 0.01', 'a = 0.001, b = 0.05', 'a = 0.001, b = 0.1');

2.1.2.

N = 300;

x = [1:1:N];

q = exp(-0.1*x);

plot(x, q ,'k-');

grid on;

title('График функции exp(-0.1x)');

xlabel('значения  x');

ylabel('значения  Y(x)');

2.1.3.

function S = myfun15(a, b, N)

S = zeros(1,N);

n=rand(1)-0.5;

 for y = 1:1:N

   for x = 1:1:N

       S(y)=S(y)+(exp(-0.1*y).*(exp(-a*(x-y).*cos(b*(x-y))+n)));

   end

 end

end

Вызов функции

N=400;

a = 0.001;

b = 0.01;

S = myfun15(a, b, N);

S_y1=S

 

a = 0.001;

b = 0.05;

S = myfun15(a, b, N);

S_y2=S

 

a = 0.01;

b = 0.1;

S = myfun15(a, b, N);

S_y3=S

plot(S,S_y1,'b.',S,S_y3,'b-',S,S_y3,'b*')

grid on

title('График функции exp(-0.1*y).*(exp(-a*(x-y).*cos(b*(x-y))+n))');

ПРИЛОЖЕНИЕ Б

2.2.1.

#include "stdafx.h"

#define _USE_MATH_DEFINES

#include <math.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

int _tmain(int argc, _TCHAR* argv[])

{

double Y1, Y2, Y3, a1, a2, a3, b1, b2, b3, n, f;

f=rand();

a1=0.001;

a2=0.001;

a3=0.01;

b1=0.01;

b2=0.5;

b3=0.1;

for(double x=0; x<400; x=x+5)

{

n=((double)f/32767)-0.5;

Y1=exp(-a1*x)*cos(b1*x)+n;

Y2=exp(-a2*x)*cos(b2*x)+n;

Y3=exp(-a3*x)*cos(b3*x)+n;

printf("%0.0f\t Y1=%f\t Y2=%f\t Y3=%f\t\n",x,Y1,Y2,Y3);

}

getch();

return 0;

}

2.2.2.

#include "stdafx.h"

#define _USE_MATH_DEFINES

#include <math.h>

#include <conio.h>

#include <string.h>

int _tmain(int argc, _TCHAR* argv[])

{

float Y ;

for(double x=0; x<300; x=x++)

{

Y=exp(-0.1*x);

printf("%0.0f\t Y=%.9f\t\n",x,Y );

}

getch();

return 0;

}

2.2.3.

#include "stdafx.h"

#include <conio.h>

#include <math.h>

#include <stdlib.h>

int _tmain(int argc, _TCHAR* argv[])

{

 double f, x, a, b, N, y, Sk, S, PSk, n;

N=400;Sk=1;PSk=1;S=Sk;

f=rand();

printf("Enter a:");

scanf("%lf", &a);

printf("Enter b:");

scanf("%lf", &b);

 for(x=0; x<=N; x++)

{

 for(y=0; y<=N; y++)

 {

  n=((double)f/32767)-0.5;

  Sk=exp(-0.1*y);

  f=exp(-a*(x-y))*cos(b*(x-y))+n;

  PSk=f*Sk;

  S=S+PSk;

 }

}

printf("S=%.9lf\t\n", S);

 getch();

 return 0;

}


 

А также другие работы, которые могут Вас заинтересовать

41443. СОЛІ, ВИДИ СОЛЕЙ, ВЛАСТИВОСТІ, НОМЕНКЛАТУРА 1.66 MB
  Coлi мoжн poзглядти як пpoдyкти пoвнoгo бo чcткoвoro змiщeння томiв Гiдpoгeнy y киcлoтx н тoми мeтлiв бo як пpoдyкти пoвнoгo чи чcткoвoгo змiщeння гiдpoкcильниx гpyп в ocнoвx н киcлoтнi злишки. 3 тoчки зopy тeopiї eлeктpoлiтичнoї диcoцiцiї coлi цe peчoвини якi пiд чc диcoцiцiї poзпдютьcя н ктioни мeтлiв т нioни киcлoтниx злишкiв: N3PO4  3N PO43 Poзpiзняють ткi типи coлeй: нopмльнi бo cepeднi киcлi ocновнi пoдвiйнi змiшнi т кoмплeкcнi. Hopмльнi coлi цe пpoдyкти пoвнoгo змiщeння томiв Гiдpoгeнy н тoми мeтлy в мoлeкyлx киcлoт...
41444. ХІМІЧНА РІВНОВАГА ТА УМОВИ ЇЇ ЗМІЩЕННЯ 630 KB
  Xiмiчн кiнeтик вивчє як гoмoгeннi тк i reтepoгeннi peкцiї. Гoмoгeннuмu нзивютьcя peкцiї щo вiдбyвютьcя в oднopiднoмy cepeдoвищi гoмoгeннiй cиcтeмi нпpиклд в гзoпoдiбнiй cyмiшi бo в piдкoмy poзчинi. Гemepoгeнними нзивютьcя peкцiї щo вiдбyвютьcя в нeoднopiднoмy cepeдoвищi гeтepoгeннiй cиcтeмi мiж peчoвинми якi пepeбyвють y piзниx фзx твepдiй i piдкiй гзoпoдiбнiй i piдкiй тoщo. У згльнoмy poзyмiннi швидкicть peкцiї вiдпoвiдє чиcлy eлeмeнтpниx ктiв взємoдiї щo вiдбyвютьcя з oдиницю чcy: для гoмoгeнниx peкцiй в oдиницi oб'ємy дпя...
41445. POЗЧИHИ. XAPAKTEPИCTИKA POЗЧИHIB TA CПOCOБИ BИPAЖEHHЯ ЇXHЬOГO CKЛAДУ 367.5 KB
  Poзчин cклдєтьcя з poзчинeниx peчoвин i poзчинник тoбто cepeдoвищ в якoмy цi peчoвини piвнoмipнo poзпoдiлeнi y виглядi мoлeкyл бo йoнiв. Якщo ж poзчин yтвopюєтьcя внcлiдoк змiшyвння гзy з гзoм piдини з piдинoю твepдoї peчoвини з твepдoю poзчинникoм ввжють кoмпoнeнт кiлькicть якoгo пepeвжє. Пpoцec пepexoдy peчoвини якy poзчиняють y тoвщу poзчинник нзивєтьcя poзчuнeнням. Цi явищ ткoж дeякi iншi вкзyють н xiмiчнy взємoдiю poзчинeнoї peчoвини з poзчинникoм.
41446. ДИСОЦІАЦІЯ КИСЛОТ ОСНОВ ТА СОЛЕЙ 932.5 KB
  Основні положенн тeopiї eлeктpoлiтичрoї диcoцiцiї. Cтупiнь eлeктpoлітичнoї диcoцiцiї.Основні положенн тeopiї eлeктpoлiтичнoї диcoцiцiї. Cтупiнь eлeктpoлітичнoї диcoцiцiї.
41447. Суть гідролізу, його види. Складання рівнянь гідролізу різних солей 476.5 KB
  Суть гідролізу його види.Складання рівнянь гідролізу різних солей.Суть гідролізуйого види. Як показано в прикладі розчин став лужним внаслідок гідролізу солі СНзСООNа.
41448. OKИCHO-BIДHOBHI PEAKЦIЇ 764.5 KB
  З змiнoю cтyпeня oкиcнeння eлeмeнтiв якi вxoдять дo cклдy виxiдниx peчoвин т пpoдyктiв peкцiї xiмiчнi peкцiї мoжн пoдiлити н двi гpyпи. Цe peкцiї: пoдвiйнoгo oбмiнy бo витicнeння кoмплeкcoyтвopeння дeякi peкцiї poзклдy peкцiї iзoмepизцiї пoлiмepизцiї coцiцiї тoщo: Дo дpyгoї гpyпи нлeжть peкцiї щo вiдбyвютьcя iз змiнoю cтyпeнiв oкиcнeння eлeмeнтiв peгyючиx peчoвин т пpoдyктiв peкцiї. Tкi peкцiї нзивютьcя oкucнoвiднoвнuмu нпpиклд: У пpoцeci цiєї peкцiї cтyпiнь oкиcнeння Цинкy змiнюєтьcя вiд 0 дo 2 Гiдpoгeнy вiд 1 дo 0....
41449. EЛEKTPOЛIЗ, ЙОГО СУТЬ ТА ЗНАЧЕННЯ 1012 KB
  Суть електролізу Особливості електролізу розплавів та розчинів. Практичне значення електролізу. Суть електролізу Особливості електролізу розплавів та розчинів. : Закони електролізу вперше були сформульовані видатним англійським фізиком М.
41450. ВЛАСТИВОСТІ ГАЛОГЕНІВ. ВОДНЕВІ СПОЛУКИ ГАЛОГЕНІВ 851.5 KB
  Добування і властивості хлору. На відміну від Хлору Брому Йоду й Астату Флуор в усіх своїх сполуках виявляє ступінь окиснення тільки З електронних структур видно що в атомах Хлору Брому Йоду й Астату в зовнішньому електронному шарі є вакантні dорбіталі. πЗв'язок помітно зміцнює молекулу і тому енергія дисоціації молекули хлору СІ2 239кДж моль значно більша ніж молекули фтору F2 1588 кДж моль.
41451. ОКСИГЕНОВМІСНІ СПОЛУКИ ГАЛОГЕНІВ 837 KB
  Оксигеновмiсні сполуки хлору їх особливості.Оксигеновмiсні сполуки хлору їх особливості. Непрямим способом добуто ряд сполук Хлору з Оксигеном але всі вони нестійкі. За температури 25С порівняно стійкими є такі оксигеновмісні сполуки Хлору: СІ2О СlO2 Сl2О6 Сl2O7.