Kolokwium..kto pomoże? płace! szereg McLaurina zespolone

0

Obliczyć z dokladnościa do 4-tego wyrazu w rozwinieciu McLaurina
cos(4.33-6.05*i) zapłace 50 zl
kod do przerobienia:
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

using namespace std;
const int NN = 64; //dodana stala NN w ktorej zmieniamy punkty

//zapis do pliku txt
struct Cmpl
{
double Re;
double Im;
};// definicja complex

int main(int argc, char *argv[])
{
int i,k,n;
double x[NN];
Cmpl xx[NN];
double dsumRe;
double dsumIm;
double fi,_PI;
FILE *pt; //definicja wszystkich zmiennych

pt=fopen("C:\\lab3.txt","wt");
fseek(pt,0, SEEK_SET);

_PI = 4.0 * atan(1.0);//wyliczenie PI zeby dzialalo

for (i=0; i<NN; i++)
    { 
    x[i] = 100*cos(_PI*i/7)+400*sin(_PI*i/3.7);
    printf("%6d %10.2f\n", i, x[i]);
    };//petla przydzielajaca losowe wartosci
    
for (k=0; k<NN; k++)
    {
    dsumRe=0.0;
    dsumIm=0.0;
    for (n=0; n<NN; n++)
        {
        fi=2*_PI*k*n/NN;      
        dsumRe+=x[n]*cos(fi);
        dsumIm-=x[n]*sin(fi);//wlasciwe obliczenia
        }
    xx[k].Re=dsumRe;
    xx[k].Im=dsumIm;
    printf(    "%6d     %10.2f  %10.2f  %10.2f  \n", k, x[k], xx[k].Re, xx[k].Im);
    fprintf(pt,"%6d     %10.2f  %10.2f  %10.2f  \n", k, x[k], xx[k].Re, xx[k].Im);
    }
system("PAUSE");
fflush(pt);
fclose(pt);
return EXIT_SUCCESS;

}

0

Zły dział...

0

Yyyy.. Nie możesz po prostu dac:
#include <iomanip.h>

i w funkcji cout:
cout << fixed << setprecision(ILE_PO_PRZECINKU) << DALSZE_INSTRUKCJE << endl;

0

-79.12677753749009392652211428 - 196.7398227947387083652175328*I

zamiast fi=2*_PIkn/NN;
powinno fi=Pi2kNN * n
bo kompilator raczej nie pomoże
podobnie Pi7 i Pi37, a ciekawe czy tu kompilator nie pomaga
w pętli for(n pozbyłbym się sinus i cosinusa, np. tak jak gdy liczy się FFT

1 użytkowników online, w tym zalogowanych: 0, gości: 1