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;

}


 

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

36698. ОПРЕДЕЛЕНИЕ ОТНОШЕНИЯ ТЕПЛОЕМКОСТЕЙ ГАЗА МЕТОДОМ КЛЕМАНА - ДЕЗОРМА 73 KB
  Основные теоретические положения к данной работе основополагающие утверждения: формулы схематические рисунки: Для определения отношения Сp Cv в случае воздуха в данной лабораторной работе применен метод предложенный Клеманом и Дезормом в котором использовано охлаждение газа при его адиабатическом расширении. Быстрое сжатие и быстрое расширение газа приблизительно можно рассматривать как адиабатический процесс. Отсюда видно что при адиабатическом сжатии температура газа повышается за счет работы внешних сил а при адиабатическом...
36699. Определение параметров импульсных сигналов, используемых для электростимуляции 495 KB
  Связь амплитуды формы импульса частоты следования импульсов длительности импульсного сигнала с раздражающим действием импульсного тока. Какова будет сила тока в начале разрядки конденсатора Через 6 мс напряжение на конденсаторе упадет до 250 В. Цель работы: Используя осциллограф С819 источник питания постоянного тока Б545 дифференцирующие и интегрирующие цепи.
36700. Изучение действия СВЧ поля на вещество 551 KB
  Переменные токи наведенные электрическим полем создают в диполе стоячую волну с пучностью тока в его середине. Они препятствуют ответвлению в гальванометр высокочастотного тока свободно пропуская выпрямленный.Исследование нагревания токами СВЧ электролита и диэлектрика.Делают вывод о влиянии СВЧ поля на вещество Воздействие переменными токами Первичное действие переменного тока и электромагнитного поля на биологические объекты в основном заключается в периодическом смещении ионов растворов электролитов и изменении поляризации...
36701. Градуирование электростатического вольтметра с помощью электрометра Томсона 396 KB
  Градуирование электростатического вольтметра с помощью электрометра Томсона. Цель работы: Градуирование шкалы электростатического вольтметра с помощью абсолютного электрометра Томсона т. Основные теоретические положения к данной работе основополагающие утверждения: формулы...
36702. Определение омического сопротивления при помощи моста Уитстона 306.5 KB
  Определение омического сопротивления при помощи моста Уитстона. Цель работы: Экспериментальное определение сопротивления проводников и проверка закона Ома с помощью моста постоянного тока. Однако существует одно определенное...
36703. Определение собственной люминесценции белка 1.1 MB
  Характеристики люминесценции спектр длительность квантовый выход. Задачи Исследование спектров люминесценции Спектром люминесценции называется кривая зависимости интенсивности люминесценции от длины волны или частоты: I = f  Интенсивность люминесценции выражается обычно в величинах пропорциональных энергии или числу квантов. Качественный и количественный анализ веществ в растворе и в живой клетке может производиться по спектрам люминесценции аналогично тому как это было описано выше для спектров поглощения.
36704. ИЗУЧЕНИЕ ЗАКОНОВ ДВИЖЕНИЯ ЭЛЕКТРОНА В ЭЛЕКТРИЧЕСКОМ И МАГНИТНОМ ПОЛЯХ 290 KB
  ОТЧЁТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №22 ИЗУЧЕНИЕ ЗАКОНОВ ДВИЖЕНИЯ ЭЛЕКТРОНА В ЭЛЕКТРИЧЕСКОМ И МАГНИТНОМ ПОЛЯХ Цель работы: Определение опытным и расчетным путем индукции магнитного поля на оси соленоида с помощью законов движения электрона в электрическом и магнитном полях. С соленоид служащий для создания магнитного поля; А амперметр для...
36705. Изучение затухающих электромагнитных колебаний в колебательном контуре с помощью осциллографа 550 KB
  Изучение с помощью электронного осциллографа электромагнитных колебаний, возникающих в колебательном контуре, содержащем индуктивность, емкость и активное сопротивление; изучение условий возникновения затухающих колебаний в контуре; расчет основных физических величин, характеризующих эти колебания.
36706. Психологічне консультування щодо вибору професії у старшокласників 392.5 KB
  Важливим аспектом у розвитку і самореалізації особистості є правильний вибір професії – це моральне задоволення, висока самооцінка. Водночас це й висока продуктивність праці, висока якість продукції. Вибір професії – точка, в якій сходяться інтереси особистості та суспільства