Автор работы: Пользователь скрыл имя, 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
Министерство науки и образования Украины
Донецкий национальный технический университет
Кафедра вычислительной
математики и программирования
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по курсу
«Введение в информатику»
ТЕМА КУРСОВОЙ РАБОТЫ
Использование кубического сплайна при решении
электротехнических задач
Выполнил студент группы ЗИУ-10 ,ЭТФ
Коваленко А.В.
Руководитель работы Алексеев Е.Р.
Донецк 2011
Министерство образования и науки Украины
Донецкий национальный технический университет
Кафедра вычислительной
математики и программирования
ЗАДАНИЕ
на курсовую работу по курсу
«Введение в информатику»
Студенту группы ЗИУ-10,ЭТФ, КоваленкоА.В.
ТЕМА КУРСОВОЙ РАБОТЫ
Использование интерполирования
кубическими сплайнами
при решении электротехнических задач
Дата выдачи задания____________
Срок сдачи работы ____________
Руководитель Алексеев Е.Р.
Донецк 2011
Оглавление
Аннотация………………………………………………………
Введение…………………………………………………………
1. Постановка задачи 6
2. Описание математической модели решения задачи 7
3. Постановка задачи…………………………………
2. Описание математической
3. Блок-схема …………………………………………………
4. Описание алгоритма ……………………………
5. Характеристика данных и их
условные обозначения ………......
6. Текст программы………………………………………
7. Контрольный пример………………………………
7.1. Контрольный расчет………………………………
7.2. Результаты расчета с помощью
Scilab......……………………..........
7.3. График экспериментальной зависимости и подобранной функции, выполненный в Scilab23
8. Анализ результатов ……………………………
Заключение……………………………………………………
Списки используемой литературы……………………………………......
Аннотация
Объектом исследования является табличная зависимость тока ротора от коэффициента нагрузки асинхронного двигателя АИУМ225М4 при номинальном напряжении.
Программа предназначена для построения кубического сплайна зависимости тока ротора от коэффициента нагрузки. В программе исходные данные β и I. Исходные данные считываются из текстового файла aium225m4.txt, а записываются в файл rezult.txt. В результате исследований необходимо получить значение тока ротора при определенных коэффициентах нагрузки и влиянии тока холостого хода.
Данная программа разработана на зыке С++. С помощью математического пакета – Scilab строится график по исходным данням, а также строится график по полученным данным.
Введение
Темой моего курсового является решение электротехнической задачи с применением интерполяции функции, в моём случае это кубический сплайн. Курсовая работа предназначена для закрепления знаний, приобретённых во время изучения курса «Введение в информатику» и использовании их при решении реальной задачи электротехники.
В этой работе требуется построить кубический сплайн зависимости I2(β) и вычислить значения пусковых токов при заданных нагрузках. Используется функция, вычисляющая коэффициент сплайна.
Написание данной программы
очень важно, так как она значительно
облегчает работу в электротехнических
задачах при расчёте пусковых
токов асинхронных двигателей. Показателем
работы программы является график, построенный
по полученным данным – это графическое
решение задачи.
Вариант 8.
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. Средствами математического пакета или электронных таблиц проверить результаты работы программы, построить график экспериментальной зависимости и подобранной функции.
Сплайн – интерполяция
Сплайн-интерполяция − задача проведения гладких кривых по заданным граничным точкам. Поскольку через две точки можно провести сколь угодно много гладких кривых, то для решения этой задачи необходимо ограничить класс функций, которые будут определять искомую кривую. Математическими сплайнами называют функции, используемые для аппроксимации кривых. Важным их свойством является простота вычислений. На практике часто используют сплайны вида полиномов третьей степени. С их помощью довольно удобно проводить кривые, которые интуитивно соответствуют человеческому субъективному понятию гладкости. Термин “сплайн” происходит от английского 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)
Для построения интерполяционного сплайна нужно найти 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 )2
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) выразим dk через 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=
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
А затем к нахождению искомых коэффициентов ck по формулам обратной прогонки:
ck-1= δk-1ck+λk-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. Описание алгоритма.
Алгоритм расчетов интерполяционного сплайна состоит из следующих этапов:
1) Ввод значений табличной зависимости у(х), массивов х и у;
2) Расчет элементов массивов h и l по формулам (1.6-2.8);
3) Расчет массивов пригоночных коэффициентов δ и λ по формулам (2.12-2.13);
4) Расчет массивов коэффициентов с по формулам (2.14);
5) Расчет массивов коэффициентов b и d по формулам (2.6) и (2.9).
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 |
Информация о работе Использование кубического сплайна при решении электротехнических задач