98516

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

Курсовая

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

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

Русский

2015-11-04

2.31 MB

3 чел.

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

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

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

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

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

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

    

  

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

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

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

        Студент  РФ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;

}


 

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

39307. Организация бухгалтерского учета на ООО «Мое солнце» 219 KB
  Учетная политика Объектом прохождения практики послужило предприятие – ООО Мое солнце. ООО МОЕ СОЛНЦЕ создано в соответствии с Гражданским кодексом Российской Федерации Федеральным законом Об обществах с ограниченной ответственностью другими действующими законодательными актами Российской Федерации. ООО МОЕ СОЛНЦЕ является юридическим лицом имеет круглую печать и штампы со своим наименованием свой торговый знак расчетный и иные счета в банках другие реквизиты необходимые для хозяйственной и иной деятельности. ООО МОЕ СОЛНЦЕ...
39308. Анализ маркетинговой деятельности предприятия ООО «Грат-Вест» 496.5 KB
  Игрушки для детей – это миниатюрное отражение взрослого мира. Бессмысленно недовольно коситься на крохотные микроволновые печи и мобильные телефоны – дети играют в нашу с вами взрослую жизнь, таким образом ее осваивая. Наш мир сегодня необыкновенно разнообразен. Стоит ли удивляться, что мир игрушек для детей предлагает воистину огромный выбор. Данная работа представляет аналитический отчет о прохождении производственной практики на предприятии ООО «Грат-Вест», которое занимается продажей детских товаров.
39309. МЕХАНІЗМИ РЕАЛІЗАЦІЇ ПРАВ ДИТИНИ В УКРАЇНІ 365 KB
  Дитину жодним чином не можна прирівнювати до дорослої людини, у тому числі й у правових аспектах. Дитина має бути забезпечена особливими правами, особливим захистом, які мають часовий вимір і спеціальне призначення. Дитина, як і кожна людська істота, від народження має права людини.
39310. Маркетинговая деятельность «Вест-Алко» 244 KB
  Маркетинговая деятельность ВестАлко. Функции выполняемые службой маркетинга ООО ВестАлко. Анализ маркетинговой деятельности ООО ВестАлко. Переход к рыночным отношениям в России явился важной предпосылкой развития маркетинга. Данная работа представляет аналитический отчет о прохождении производственной практики на предприятии ВестАлко которое является виноводочным заводом.
39311. Характеристика предприятия ООО «Политон» 54.5 KB
  Характеристика предприятия ООО Политон. Целью преддипломной практики являются следующие задачи: Закрепить теоретические знания полученные по дисциплине Бухгалтерский учет анализ аудит; Приобрести необходимые навыки самостоятельной работы по анализу и учету отчетности и основных показателей предприятия; Получить практические навыки в качестве бухгалтера и аналитика; Развить творческую инициативу с целью решения задач по дальнейшему улучшению планирования и повышения эффективности учета деятельности предприятия;...
39312. Комплексный экономический анализ хозяйственной деятельности ОАО «Междуречье» 96.22 KB
  Экономический анализ – систематизированная совокупность экономических процедур, цель которого является получение заключений, выводов и рекомендаций экономического характера для отдельного субъекта.
39314. Теоретичний і правовий аналіз сутності норми права і нормативно-правового акту 197 KB
  Суспільство яке покликане захищати основні права людини – це впорядкована система відносин яка базується на дотриманні всіма суб’єктами цих відносин норм права які розміщені в нормативноправових актах. Значну увагу розробці вчення про норму права і нормативноправовий акт приділяли видатні представники російської юридичної науки у дореволюційній Росії Н. Предметом дослідження є нора права і нормативноправовий акт.
39315. Синтез кулачкового механизма контргрейфера 55.6 KB
  Опираясь на этот график строим график поперечного перемещения зуба контргрейфера и определяем фазовые углы и углы и : ФП 101 = 1768 рад ФД 116 = 2028 рад ФО 101 = 1768 рад ФБ 360 – ФП ФД ФО = 42 42= 0728 рад 280= 4888 рад ОПРЕДЕЛЕНИЕ ЗАКОНА ПЕРЕМЕЩЕНИЯ ТОЛКАТЕЛЯ Изображаем примерный закон перемещения толкателя S=S отсчитывая угол от начала фазы подъема. Закон перемещения толкателя на фазах подъема и опускания определяется путем двукратного интегрирования заданных законов изменения ускорения толкателя. Фаза подъема...