Использование кубического сплайна при решении электротехнических задач

Автор работы: Пользователь скрыл имя, 03 Июля 2013 в 16:14, курсовая работа

Краткое описание

Программа предназначена для построения кубического сплайна зависимости тока ротора от коэффициента нагрузки. В программе исходные данные β и I. Исходные данные считываются из текстового файла aium225m4.txt, а записываются в файл rezult.txt. В результате исследований необходимо получить значение тока ротора при определенных коэффициентах нагрузки и влиянии тока холостого хода.
Данная программа разработана на зыке С++. С помощью математического пакета – Scilab строится график по исходным данням, а также строится график по полученным данным.

Содержание

Аннотация…………………………………………………………………..................................……….4
Введение…………………………………………………………………………………………………..5
1. Постановка задачи 6
2. Описание математической модели решения задачи 7
3. Постановка задачи………………………………………………………………..............….…...7
2. Описание математической модели решения задачи…………….......................................….…….8
3. Блок-схема …………………………………………………………...............……….………….……11
4. Описание алгоритма ……………………………………………………….............……………..…13
5. Характеристика данных и их условные обозначения ………............…….……....14
6. Текст программы…………………………………………………………...........……………….…..16
7. Контрольный пример……………………………………………………………...........………..…..21
7.1. Контрольный расчет…………………………………………………………………...........…..22
7.2. Результаты расчета с помощью Scilab......……………………................…….…...23
7.3. График экспериментальной зависимости и подобранной функции, выполненный в Scilab23
8. Анализ результатов …………………………………………………………………...........….……23
Заключение…………………………………………………………………………………….........…..24
Списки используемой литературы……………………………………...........……………….….25

Вложенные файлы: 1 файл

Министерство науки и образования Украины.docx

— 412.53 Кб (Скачать файл)

 

Министерство науки и  образования Украины

Донецкий национальный технический  университет

Кафедра вычислительной

математики и программирования

 

 

 

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по курсу

«Введение в информатику»

 

ТЕМА КУРСОВОЙ РАБОТЫ

Использование кубического  сплайна при решении

электротехнических задач

 

Выполнил студент       группы ЗИУ-10 ,ЭТФ

Коваленко А.В.

    Руководитель работы              Алексеев Е.Р.

 

 

 

 

 

 

 

 

 

 

 

Донецк 2011 

 

 Министерство образования и науки Украины

Донецкий национальный технический  университет

Кафедра вычислительной

математики и программирования

 

 

 

 

ЗАДАНИЕ

на курсовую работу по курсу

«Введение в информатику»

Студенту группы ЗИУ-10,ЭТФ, КоваленкоА.В.

 

 

 

ТЕМА КУРСОВОЙ РАБОТЫ

Использование интерполирования  кубическими сплайнами 
при решении электротехнических задач

 

 

      Дата выдачи задания____________

     Срок сдачи работы    ____________

     Руководитель Алексеев Е.Р.

 

 

 

Донецк 2011

Оглавление

Аннотация…………………………………………………………………..................................……….4

Введение…………………………………………………………………………………………………..5

1. Постановка задачи 6

2. Описание математической модели решения задачи 7

3.     Постановка задачи………………………………………………………………..............….…...7

2. Описание математической модели  решения задачи…………….......................................….…….8

3. Блок-схема …………………………………………………………...............……….………….……11

4. Описание алгоритма ……………………………………………………….............……………..…13

5. Характеристика данных и их  условные обозначения ………............…….……....14

6. Текст программы…………………………………………………………...........……………….…..16

7. Контрольный пример……………………………………………………………...........………..…..21

    7.1. Контрольный расчет…………………………………………………………………...........…..22

    7.2. Результаты расчета с помощью Scilab......……………………................…….…...23

    7.3. График экспериментальной  зависимости  и подобранной  функции, выполненный в Scilab23

8. Анализ результатов …………………………………………………………………...........….……23

Заключение…………………………………………………………………………………….........…..24

Списки используемой литературы……………………………………...........……………….….25

 

 

 

 

 

 

 

 

 

 

 

 

Аннотация

Объектом исследования является табличная зависимость тока ротора от коэффициента нагрузки асинхронного двигателя АИУМ225М4 при номинальном  напряжении.

Программа предназначена  для построения кубического сплайна  зависимости тока ротора от коэффициента нагрузки.  В программе исходные данные β и I. Исходные данные считываются из текстового файла aium225m4.txt, а записываются в файл rezult.txt.  В результате исследований необходимо получить значение тока  ротора при   определенных коэффициентах нагрузки  и влиянии тока холостого хода.

Данная программа разработана  на зыке С++.    С помощью математического пакета – Scilab  строится график по исходным данням, а также строится график по полученным данным.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

Темой моего курсового  является решение электротехнической  задачи с применением интерполяции функции, в моём случае это кубический сплайн. Курсовая работа предназначена для закрепления знаний, приобретённых во время изучения курса «Введение в информатику» и использовании их при решении реальной задачи электротехники.

В этой работе требуется  построить кубический сплайн зависимости  I2(β) и вычислить значения пусковых токов при заданных нагрузках. Используется функция, вычисляющая коэффициент сплайна.

Написание данной программы  очень важно, так как она значительно  облегчает работу в электротехнических задачах при расчёте пусковых токов асинхронных двигателей. Показателем работы программы является график, построенный по полученным данным – это графическое решение задачи. 

  1. Постановка задачи

Вариант 8.

 

1.Известна табличная зависимость  тока ротора I2(А) от коэффициента нагрузки β АД АИУМ225М4 при номинальном напряжении, которая хранится в текстовом файле aium225m4.txt. (Таблица 1.1)

 

Таблица 1.1.  Экспериментальные  данные

в

1.5

1.3

1.1

1

0.8

0.7

0.5

0.2

x.x.(0)

I2

91

77

65

60

49

43

34

22

20.6


 

2.Ввести табличные данные  и проанализировать зависимость.

3.Рассчитать коэффициенты  интерполяционного сплайна , написав  программу на языке С++. Найти  значение пусковых токов при  нагрузках 0.64, 0.9, 1.2.

 

В программе исходные данные считывать из диалогового окна или  из файла aium225m4.txt. Результаты вычислений сохранить в текстовом файле result.txt. Средствами математического пакета или электронных таблиц проверить результаты работы программы, построить график экспериментальной зависимости и подобранной функции.

 

  1. Описание математической модели решения задачи

 

Сплайн – интерполяция

Сплайн-интерполяция − задача проведения гладких кривых по заданным граничным точкам. Поскольку через две точки можно провести сколь угодно много гладких кривых, то для решения этой задачи необходимо ограничить класс функций, которые будут определять искомую кривую. Математическими сплайнами называют функции, используемые для аппроксимации кривых. Важным их свойством является простота вычислений. На практике часто используют сплайны вида полиномов третьей степени. С их помощью довольно удобно проводить кривые, которые интуитивно соответствуют человеческому субъективному понятию гладкости. Термин “сплайн” происходит от английского spline – что означает гибкую полоску стали, которую применяли чертежники для проведения плавных кривых, например, для построения обводов кораблей или самолетов.

Рассмотрим один из вариантов  интерполяции кубическими сплайнами. Недеформируемая линейка между соседними узлами проходит по линии, удовлетворяющей уравнению:

I2(β)=0 (1)

Функцию I(β) будем использовать для интерполяции звисимости y(β), заданной на интервале (a,b) в узлах a= β 0, β 1,…,b= β n значениями y0,y1,…,yn.

Кубическим сплайном, интерполирующим  на отрезке [a,b] данную функцию I(β), называется функция:

gk(s)=ak+bk(s - β k)+ck(s - β k)2+dk(s - β k)3, s Є[β k-1, β k], k=1,…,n, (1.1)

удовлетворяющая следующим  условиям:

1)gk k)=Ik; gk k-1)=Ik-1  (условие интерполяции в узлах сплайна);

2)функция g(β) дважды непрерывно дифференцируема на интервале [a,b];

3)на концах интервала  функция  должна удовлетворять  следующим соотношениям g1’’(a)=gk’’(b)=0.

 

Для построения интерполяционного  сплайна нужно найти 4n коэффициентов ak,bk,ck,dk (k=1,2,…,n).

Из определения сплайна  получаем n-1 соотношение:

g1 0)=y0; gk k)=yk (k=1,2,…,n) (1.2)

Из гладкой стыковки звеньев  сплайна(во внутренних узловых точках совпадают значения двух соседних звеньев  сплайна, их первые и вторые производные) получаем ряд соотношений:

gk-1 k-1)=gk k-1),k=2,3,…,n,

gk-1 β xk-1)=g’k k-1), k=2,3,…,n, (1.3)

g”k-1 β xk-1)=g”k k-1), k=2,3,…,n,

g”1 0)=0, g”n n)=0. (1.4)

Соотношения (1.2)-(1.4) образуют 4n соотношений для нахождения коэффициентов сплайна. Подставляя соотношения функций (1.1) и их производных (1.5)

g’k (s) = bk+ 2ck ( s- β k ) + 3dk ( s- β k )

g’’k (s) = 2ck + 6dk (s- β k ) (1.5)

в соотношения (1.2)-(1.4) и принимая во внимание соотношение

hk= β k- β k-1, k=1,2,…,n, (1.6)

получим следующую систему  уравнений:

a1-b1h1+c1h12-d1h13=y0, (1.7)

ak=yk, k=1,2,…n, (1.8)

ak-1=ak-bkhk+ckhk2-dkhk3; k=2,3,…n, (1.9)

bk-1=bk – 2ckhk + 3dkhk3; k=2,3,…n, (2.0)

ck-1=ck-3dkhk; k=2,3,…n, (2.1)

c1-3d1h1=0, (2.2)

cn=0 (2.3)

Задача интерполяции свелась  к решению системы (1.7)-(2.3). Из соотношения (1.8) следует, что все коэффициенты ak=yk, k=1,2,…n. Подставив соотношения (1.7),(1.8) в (1.9) и используя фиктивный коэффициент c0=0, получим соотношения между bk, ck, dk:

bkhk – ckhk2+ dkhk3 = yk – yk-1. (2.4)

Отсюда коэффициенты bk вычисляются при k=1,2,…n по формуле:

bk=((yk – yk-1)/hk)+ckhk-dhhk2     (2.5)

Из (2.1) и (2.2) выразим d через ck (с учётом коэффициента c0=0):

dk= ((ck –ck-1)/3hk); k=1,2,…,n. (2.6)

Подставим (2.6) в (2.5):

bk=((yk – yk-1)/hk)+2/3 ckhk+1/3 ck-1hk; k=1,2,…,n. (2.7)

Введём обозначение

lk=(yk – yk-1)/hk; k=1,2,…,n, (2.8)

после чего соотношение (2.7) примет вид:

bk=lk++2/3 ckhk+1/3 ck-1hk; k=1,2,…,n. (2.9)

Подставим (2.9) и (2.6) в соотношение (2.0), получим систему относительно сk:

hk-1ck-2+2(hk-1+hk)ck-1+hkck=3lk-3lk-1; k=2,3,…,n, (2.10)

c0=0,cn=0. (2.11)

Систему (2.10) можно решить, используя метод прогонки. Этот метод  сводится к нахождению прогоночных  коэффициентов по формулам прямой прогонки:

δ1=-h2/2(h1+h2), λ=3(l2-l1)/2(h1+h2), (2.12)

δk-1=-hk/(2hk-1+2hk+hk-1δk-2), k=3,4,…,n, (2.13)

λk-1=(3lk-3lk-1-hk-1λk-2)/(2hk-1+2hk+hk-1δk-2), k=3,4,…,n.

А затем к нахождению искомых  коэффициентов ck по формулам обратной прогонки:

ck-1= δk-1ckk-1; k =n, n 1, …,2.  (2.14)

После нахождения коэффициентов  с по формуле (2.14) находим b и d по формулам (2.6) и (2.9).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.Блок-схемы

Ниже предоставлена блок-схема функции Koef_spline расчета коэффициентов сплайна.

Рис.3.1 Функции Koef_spline

 Рис.3.2 Блок-схема алгоритма сплайн-интерполяции.

 

 

 

 

 

 

4. Описание алгоритма.

 Алгоритм расчетов интерполяционного сплайна состоит из следующих этапов:

  • Функция расчета коэффициентов сплайна (Koef_spline):

  1) Ввод значений табличной зависимости у(х), массивов х и у;

2) Расчет элементов массивов  h и l  по формулам (1.6-2.8);

3) Расчет массивов пригоночных  коэффициентов δ и λ  по  формулам (2.12-2.13);

4) Расчет массивов коэффициентов  с по формулам (2.14);

5) Расчет массивов коэффициентов  b и d по формулам (2.6) и (2.9).

  • Главная функция (int main):

6) ввод размерности массивов и самих массивов;

7) вызов функции упорядочивания;

8) ввод массива Um  промежуточных экспериментальных значений  коэффициентов нагрузки β;

9) расчет ожидаемого значения;

10) запись результатов в текстовый файл.

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Характеристика данных и их условные обозначения.

Все значения приведены в  таблице 5.1.

№ п.п

Наименование данных

Обозначение в блок-схеме

Обозначение в программе

Тип переменных

1.

Массив с исходными данными  (соответствует коэффициенту нагрузки в)

 

X[i]

 

*x

 

float

2.

Массив с исходными данными  (соответствует току ротора  I2(А) )

 

Y[i]

 

*y

float

3.

Количество элементов

N

N

int

4.

Переменная цикла

i

i

int

5.

Переменная цикла

k

k

float

6.

Массив, коэффициент сплайна

а[k]

*a

float

7.

Массив, коэффициент сплайна

b[k]

*b

float

8.

Массив, коэффициент сплайна

c[k]

*c

float

9.

Массив, коэффициент сплайна

d[k]

*d

float

10.

Номер интервала в котором  находится значение

j

j

int

11.

Переменная цикла

m

m

float

12.

Массив выводимых данных

Pm

P[m]

float

13.

Массив выводимых данных

Um

U[m]

float

14

Массив количество точек

h[k]

*h

float

15.

Текстовый файл aium225m4.txt где хранятся исходные данные

-

*f

FILE

16.

Текстовый файл rezult.txt где записываются результаты работы программы

-

*g

FILE

Информация о работе Использование кубического сплайна при решении электротехнических задач