У вас вопросы?
У нас ответы:) SamZan.net

На тему- Разложение функции в ряд Фурье Выполнил- Макаричев

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 27.4.2025

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

Новосибирский государственный технический университет

Кафедра электротехнических комплексов

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА

по дисциплине «Программирование и алгоритмизация»

На тему: «Разложение функции в ряд Фурье»

Выполнил:

Макаричев.П.А

Студент ФМА гр. ЭМА-21

Проверил:

к.т.н. Мятеж А.В.

г. Новосибирск, 2013 год.

//---------------------------------------------------------------------------

#include <vcl.h>

#include <math.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

int X1, Y1, X0=50, Y0=300;

float XX,YY,F0=0;

float A1=0, B1=0, A2=0, B2=0, A3=0, B3=0, A4=0, B4=0, A5=0, B5=0;

float A6=0, B6=0, A7=0, B7=0, A8=0, B8=0, A9=0,B9=0, A10=0, B10=0;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormActivate(TObject *Sender)

{

    ///--- Построение осей

int h,k;

Form1->Image1->Canvas->Pen->Color=clBlack;

Form1->Image1->Canvas->Pen->Width=1;

Form1->Image1->Canvas->MoveTo(30,300);

Form1->Image1->Canvas->LineTo(570,300);

Form1->Image1->Canvas->MoveTo(50,30);

Form1->Image1->Canvas->LineTo(50,570);

Form1->Image1->Canvas->TextOutA(53,303,0);

////----  Рисование разметки на осях (x,y)

for (k=1;k<=8;k++)

       {

    ///---Ось Х

       Form1->Image1->Canvas->MoveTo(60+k*62.5,30);

       Form1->Image1->Canvas->LineTo(60+k*62.5,570);

       Form1->Image1->Canvas->TextOutA(46+k*62.5,305,k*0.7854);

       }

       for (h=1;h<=10;h++)

       {

    ///---Ось Y

       Form1->Image1->Canvas->MoveTo(48,300-h*25);

       Form1->Image1->Canvas->LineTo(570,300-h*25);

       Form1->Image1->Canvas->TextOutA(53,295-h*25,h*0.1);

       Form1->Image1->Canvas->MoveTo(48,300+h*25);

       Form1->Image1->Canvas->LineTo(570,300+h*25);

       Form1->Image1->Canvas->TextOutA(53,295+h*25,-h*0.1);

       }

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,

     int X, int Y)

{

X1=X;

Y1=Y;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Image1Click(TObject *Sender)

{

////-----рисование линий

Form1->Image1->Canvas->Pen->Color=clRed;

Form1->Image1->Canvas->Pen->Width=3;

if (X1>X0)

       {

       Form1->Memo1->Clear();

       Form1->Memo2->Clear();

       Form1->Image1->Canvas->MoveTo(X0,Y0);

       Form1->Image1->Canvas->LineTo(X1,Y1);

       ///---Вычисление значения F0

       for (XX=X0;XX<X1;XX++)

                       {

                       YY=Y0+(XX-X0)*((Y1-Y0)/(1.0*(X1-X0)));

                       F0=F0+((300-YY)/250.0);

                       A1=A1+cos(1*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B1=B1+sin(1*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       A2=A2+cos(2*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B2=B2+sin(2*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       A3=A3+cos(3*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B3=B3+sin(3*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       A4=A4+cos(4*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B4=B4+sin(4*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       A5=A5+cos(5*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B5=B5+sin(5*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       A6=A6+cos(6*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B6=B6+sin(6*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       A7=A7+cos(7*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B7=B7+sin(7*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       A8=A8+cos(8*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B8=B8+sin(8*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       A9=A9+cos(9*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B9=B9+sin(9*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       A10=A10+cos(10*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       B10=B10+sin(10*((XX-50)*6.2831/500.0))*(300-YY)/250.0;

                       }

Form1->Edit1->Text=FloatToStrF(F0/(X1-50.0),ffFixed,2,4);

Form1->Memo1->Lines->Add(FloatToStrF(2*A1/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B1/(X1-50),ffFixed,2,4));

Form1->Memo1->Lines->Add(FloatToStrF(2*A2/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B2/(X1-50),ffFixed,2,4));

Form1->Memo1->Lines->Add(FloatToStrF(2*A3/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B3/(X1-50),ffFixed,2,4));

Form1->Memo1->Lines->Add(FloatToStrF(2*A4/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B4/(X1-50),ffFixed,2,4));

Form1->Memo1->Lines->Add(FloatToStrF(2*A5/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B5/(X1-50),ffFixed,2,4));

Form1->Memo1->Lines->Add(FloatToStrF(2*A6/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B6/(X1-50),ffFixed,2,4));

Form1->Memo1->Lines->Add(FloatToStrF(2*A7/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B7/(X1-50),ffFixed,2,4));

Form1->Memo1->Lines->Add(FloatToStrF(2*A8/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B8/(X1-50),ffFixed,2,4));

Form1->Memo1->Lines->Add(FloatToStrF(2*A9/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B9/(X1-50),ffFixed,2,4));

Form1->Memo1->Lines->Add(FloatToStrF(2*A10/(X1-50),ffFixed,2,4));

Form1->Memo2->Lines->Add(FloatToStrF(2*B10/(X1-50),ffFixed,2,4));

       X0=X1;

       Y0=Y1;

       }

     

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

float U;

Form1->Image1->Canvas->Pen->Color=clBlue;

Form1->Image1->Canvas->Pen->Width=2;

Form1->Image1->Canvas->MoveTo(50,300);

for (XX=50;XX<550;XX++)

{

U=0;

U=U+A1*2/500*cos(1*((XX-50)*6.2831/500.0))+B1*2/500*sin(1*((XX-50)*6.2831/500.0))+A2*2/500*cos(2*((XX-50)*6.2831/500.0))+B2*2/500*sin(2*((XX-50)*6.2831/500.0))+A3*2/500*cos(3*((XX-50)*6.2831/500.0))+B3*2/500*sin(3*((XX-50)*6.2831/500.0))+A4*2/500*cos(4*((XX-50)*6.2831/500.0))+B4*2/500*sin(4*((XX-50)*6.2831/500.0))+A5*2/500*cos(5*((XX-50)*6.2831/500.0))+B5*2/500*sin(5*((XX-50)*6.2831/500.0))+A6*2/500*cos(6*((XX-50)*6.2831/500.0))+B6*2/500*sin(6*((XX-50)*6.2831/500.0))+A7*2/500*cos(7*((XX-50)*6.2831/500.0))+B7*2/500*sin(7*((XX-50)*6.2831/500.0))+A8*2/500*cos(8*((XX-50)*6.2831/500.0))+B8*2/500*sin(8*((XX-50)*6.2831/500.0))+A9*2/500*cos(9*((XX-50)*6.2831/500.0))+B9*2/500*sin(9*((XX-50)*6.2831/500.0))+A10*2/500*cos(10*((XX-50)*6.2831/500.0))+B10*2/500*sin(10*((XX-50)*6.2831/500.0));

Form1->Image1->Canvas->LineTo(XX,300-250*(F0/500+U));

Form1->Image1->Canvas->MoveTo(XX,300-250*(F0/500+U));

}

}

//---------------------------------------------------------------------------




1. ФУТБОЛ ДЛЯ ФАНАТОВ Клуб болельщиков ФАНАТЫ ЦСКА
2. определение основных направлений государственной экологической политики утверждение федеральных экологи
3. анализ означает разделение расчленение
4. тема любви Во многом это объясняется тем что Мопассан как и другие писателинатуралисты обратился к зап
5. культура и цивилизация Понятия культура и цивилизация имеют разный исторический масштаб- культу
6. Интерпол и Российская Федерация вопросы и проблемы
7. Тема предательства и подвига
8. Методические рекомендации по подготовке и проведению практических занятий на факультете по подготовке.
9.  У 2005 році громадянка України В
10. Тема- Организация освещения на производстве Цель работы- Закрепить теоретические знания по характеристика