Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2009, 14:37   #1
sawer5
Пользователь
 
Аватар для sawer5
 
Регистрация: 07.11.2009
Сообщений: 26
Восклицание Пожскажите.Правильно оттабулирована функция?(Basic C++).

Пожалуйста подскажите правильно-ли я оттабулировал функцию?
Дана функция: y = A * cos (B * x + c)* exp(-x / T)
Переменные принимают значения:
x принадлежит от [0 до 4П].
A принимает значения (0;1,0;5;1);
B принимает значения (0;5;1;1;5);
T = 4*ПИ.
C = принимает значения (0;ПИ/3;ПИ/2).

Решение(код программы):
Код:
#include <math.h>//Для поддержки функций: cos()и Exp().
#include <fstream>//Для выдода расчётов в файл.
using namespace std;//Пространство имён std.
//Объявляю(глобальные) переменные и функции.
double cos();//Возвращает косинус указанного числа.
double exp();//Возвращает e, возведенное в указанную степень.
double pi = 3.141593;//Число ПИ.
double x[5] = {0,1*pi,2*pi,3*pi,4*pi};//Массив переменных x
double A[5] = {0,1,0,5,1};//Массив переменных A
double B[5] = {0,5,1,1,5};//Массив переменных B
double C[5] = {0,pi/3,pi/2,0,0};//Массив переменных C
double T = 4*pi;ofstream out;//Объявляю переменную T и поток вывода.
/*Алгоритм: y = A*cos(B*x+c)*Exp(-x/T)*/
double exp_summ[5];//Массив для результата вычисления экспаненты.
double cos_umm[5];//Массив для результата вычисления cos().
double y[5];//Массив для результата вычисления результа табуляции.
int main()
{
	//Вычисляю(согласно математическому порядку)...
	out.open("C:\\result.txt");//Открываю файловый паток.
	for(int i = 0;i <5;i++)//Создаю фикл с 5-ю итерациями.
	{
		exp_summ[i] = exp(x[i] / -T);//Вычисляю экспаненту.
		cos_umm[i] = cos(B[i]*x[i]+C[i]);//Вычисляю косинус.
		y[i] = A[i]*cos_umm[i]*exp_summ[i];//Умножаю полученные результаты.
		out << y[i]<< endl;//Вывожу результат в файл.
	}
	out.close();//Закрываю файловый паток.
return 0;//Возвращаю нулевое значение(завершаю программу).
}//Конец программы.
График к программе:
#include <sawer5>

Последний раз редактировалось Sazary; 28.11.2009 в 21:38. Причина: Обновление_2
sawer5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно? Georgeo Общие вопросы C/C++ 6 20.09.2009 16:14
Правильно отформатировать... cherry_lady Microsoft Office Excel 0 25.03.2009 12:46
Функция StrtoFloat не правильно возвращает число Ra88it Помощь студентам 2 02.12.2008 20:26
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50