Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[С++] Ряды

28K
10 декабря 2007 года
vorovaika
21 / / 07.12.2007
Вот такая штука
Написать программу для вычисления значения функции, заданной с помощью рядов. При условии, что заданная функция имеет аналитическое решение, сравнить значение рядной функции с точным. Вычислить значения невязки значений рядной и стандартной (Windows) функций delta=sqrt((myfunc(x))^2-(func(x))^2), проанализировать динамику изменения значения невязки в зависимости от количества слагаемых в ряде.
cos(x)=1-x^2/2!+x^4/4!-x^6/6!...
В работе должны вводиться с клавиатуры следующие переменные:
Точность eps , границы промежутка вычисления x start и x end и шаг dx , значение x ideal для точного расчета.
В результатах работы должно быть представлено две таблицы:
___________________________________________
x | MyFunc(x)| Function(x) | delta |
___________________________________________
x start | | | |
___________________________________________
... | | | |
__________________________________________
x end | | | |
__________________________________________

x ideal=……
________________________________________
eps |MyFunc(x) |Function(x) | delta |
________________________________________
0.1 | | | |
________________________________________
... | | | |
_________________________________________
0 .0000001 | | | |
_________________________________________

Для остановки счета рядов необходимо использовать следующее условие:
|F(x с индексом n)-F(x с индексом n-1)|<eps

вот основа...но не работает:

Код:
#include "stdafx.h"  
#include "stdio.h"  
#include <iostream>  
#include "math.h"  
 
using namespace std;  
 
float mycos(float x, float eps)  
{  
    int n=1;  
    float    summ=0;  
    float  an, an1;  
    do  
    {  
         
        an=1-powf(x,2)/(n*(n+1));  
        summ+=an;  
        an1=1-(powf(x,2))/(n*(n+1)) + (powf(x,4))/n*((n+1)*(n+2)*(n+3));  
        n++;  
     
    }  
    while(fabs(an1-an)>=eps);  
    return summ;  
 
}  
 
 
int main()  
{                
float xn,xk,dx,cos, x, eps, mcos,xi,delta,epsi,mycos;                  
 
 
 
 
        printf("Ryad cos(x)=1-x^2/2! + x^4/4! - x^6/6!... Input data:\n");  
        printf("Xn=");  
        scanf("%f",&xn);  
        printf("Xk=");  
        scanf("%f",&xk);  
        printf("dX=");  
       scanf("%f",&dx);  
        printf("eps=");  
        scanf("%f",&eps);  
        printf("IdealX=");  
       scanf("%f",&xi);  
 
 
 
         
        printf("----------------------------------------------------------\n");  
        printf("|    x   |      cos    |    mycos   |         delta  |\n");  
        printf("----------------------------------------------------------\n");  
 
 
    for(x=xn;x<=xk+dx;x+=dx)  
{  
         
        printf("| %9.6f |  %9.6f  |  %9.6f | %15.8f |\n",x,cos, mcos, delta);  
        printf("----------------------------------------------------------\n");  
           delta=sqrt(fabs(powf(mcos,2)-powf(cos,2)));  
 
     
 
}  
        printf("-----------------------------------------------------------------------------\n\n\n");  
 
 
    printf("--------------------------------------------------\n");  
    printf("|                     idX=%8.6f               |\n",xi);  
    printf("--------------------------------------------------\n");  
    printf("|      eps   |      cos   |      mycos  |  delta  |\n");  
    printf("--------------------------------------------------\n");  
    for(epsi=0.1;epsi>0.0000001;epsi/=10)  
    {  
        delta=sqrt(fabs(powf(mcos,2)-powf(cos,2)));      
 
        printf("|  %9.7f | %9.6f | %9.6f  | %9.6f|\n",  epsi, cos, mcos, delta);  
        printf("--------------------------------------------------\n");  
 
    }  
    printf("---------------------------------------------------\n");  
     
return 0;  
}

[COLOR="Red"]Оформляем код по Правилам при помощи тегов [/COLOR] [ code ] ... [ /code ] . модератор.
28K
13 декабря 2007 года
vorovaika
21 / / 07.12.2007
ааа..все..((зачетная неделя((((((((
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог