Форум программистов, компьютерный форум CyberForum.ru

квадратный корень от интеграла - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
chainiksi
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 25
23.04.2012, 23:44     квадратный корень от интеграла #1
Подскажите пожалуйста как написать эту формулу на С++
http://www.cyberforum.ru/images/attach/png.gif
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2012, 23:44     квадратный корень от интеграла
Посмотрите здесь:

Уравнение на c++ (не квадратный корень) C++
Квадратный корень C++
C++ Квадратный корень
C++ Квадратный корень из 5
C++ Квадратный корень
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexcoder
1438 / 652 / 86
Регистрация: 03.06.2009
Сообщений: 3,286
Завершенные тесты: 1
24.04.2012, 09:53     квадратный корень от интеграла #2
Интеграл решается методом прямоугольников, трапеций или Симпсона, а дальше дело техники.
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2012, 12:25     квадратный корень от интеграла #3
1/T и квадрат функции говорят о том что по всей видимости это интеграл гармонической функции. Ниже пример решения проблеммы с помощью метода трапеций
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <cmath>
#include <iostream>
using namespace std;
 
double A, T, phi0;
double u(double x);
 
int main()
{
    system("chcp 1251");
    double h = 0, eps = 0,x,S = 0; 
    cout<<"\tÂâåäèòå ГЇГ*Г°Г*ìåòðû Г±ГЁГ*óñîèäû\n";
    cout<<"ÀìïëèòóäГ* A = ";cin>>A;
    T = -1;
    while(T <= 0)
    {
        cout<<"Ïåðèîä    T = ";
        cin>>T;
        if(T <= 0)
            cout<<"Ïåðèîä êîëåáГ*Г*ГЁГ© äîëæåГ* áûòü ÷èñëîì áîëüøå 0\n";
    }
    cout<<"ГЌГ*Г·Г*ëüГ*Г*Гї ГґГ*Г§Г* phi0(Гў Г°Г*äèГ*Г*Г*Гµ) = ";cin>>phi0;
    cout<<"Ââåäèòå òî÷Г*îñòü ГЁГ*òåãðèðîâГ*Г*ГЁГї\n";
    cout<<"eps = ";cin>>eps;
    h = eps*(T - 0)/10.0;
    for(x = 0; x < T + h; x = x + h)
        S = S + 0.5*(pow(u(x + h),2.0) + pow(u(x),2.0))*h;
    cout<<"Г€Г*ГІГҐГЈГ°Г*Г« $f(x)^2 Г°Г*ГўГҐГ* = "<<S<<endl;
    cout<<"sqrt($f(x)^2/T)  Г°Г*ГўГ*Г® = "<<sqrt(S/T)<<endl;
    system("pause");
    return 0;
}
 
double u(double x)
{
    double pi = 2*asin(1.0);
    return A*sin((2*pi/T)*x + phi0);
}
Миниатюры
квадратный корень от интеграла  
chainiksi
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 25
24.04.2012, 15:21  [ТС]     квадратный корень от интеграла #4
То что вы написали может бы и подошло мне но у меня не случай синусоидального напряжения. Я имею 40 мгновенных значений за при Т от 0 до 0.25с которые я должен подставить в данную формулу
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
24.04.2012, 15:29     квадратный корень от интеграла #5
Цитата Сообщение от chainiksi Посмотреть сообщение
То что вы написали может бы и подошло мне но у меня не случай синусоидального напряжения. Я имею 40 мгновенных значений за при Т от 0 до 0.25с которые я должен подставить в данную формулу
Телепаты должны были догадываться об этом???
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2012, 15:51     квадратный корень от интеграла #6
Цитата Сообщение от chainiksi Посмотреть сообщение
Я имею 40 мгновенных значений за при Т от 0 до 0.25с которые я должен подставить в данную формулу
кто тебе мешает вместо u(x + h) и u(x)

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
(pow(u(x + h),2.0) + pow(u(x),2.0))
делать подстановку
pow( u(t[i + 1]) ,2.0) + pow(u(t[i]),2.0) сути же ведь это не поменяет.
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Телепаты должны были догадываться об этом???
Кузя
прав тут телепатов нет, а ты chainiksi, пишешь как будто я сижу ряжом с тобой и вижу каковы твои исходные данные и т.д. Правильно поставленное задание - это уже 50% в его решении. Давай сюда свой массив точек и получишь ответ. Также думаю что точки лучше читать из файла нежели на каждом вводе 40 раз осуществлять ввод...
chainiksi
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 25
24.04.2012, 16:28  [ТС]     квадратный корень от интеграла #7
да конечно я виноват что несовсем корректно задал свой вопрос, за что извеняюсь. Но моя проблема покра немерее для меня не совсем проста т.к. я делаю программу для микроконтроллера чтоб с ее помощью измерять переменное напряжение(которое будет менятся) для этого я измеряю мгновенные значения за полупериод и заношу в ячейки памяти поэтому u1...u40 будут заносится автоматически
но я не знаю как в си получить ответ используя эту формулу http://www.cyberforum.ru/attachment....1&d=1335210188
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2012, 16:45     квадратный корень от интеграла #8
chainiksi, вот тебе реализация для точек а дальше уже дело за тобой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <cmath>
#include <fstream>
#include <iostream>
using namespace std;
 
int main()
{
    system("chcp 1251");
    int i, T;
    double S = 0;
    double *f = NULL;
    ifstream ifs("data.txt");
    if(!ifs.is_open())
        cout<<"ГЋГёГЁГЎГЄГ* îòêðûòèÿ ГґГ*éëГ* Г¤Г*Г*Г*ûõ\n";
    else
    {
        if(!(ifs>>T))
            cout<<"Ïåðèîä Г*ГҐ Г±Г·ГЁГІГ*Г*\n";
        else
        {
            f = new double [T];
            ifs>>f[0];
            for(i = 1; i < T; i++)
            {
                ifs>>f[i];
                S = S + 0.5*(pow(f[i],2.0) + pow(f[i - 1],2.0))*1.0;
            }
            cout<<"Г€Г*ГІГҐГЈГ°Г*Г« $f(x)^2 Г°Г*ГўГҐГ* = "<<S<<endl;
            cout<<"sqrt($f(x)^2/T)  Г°Г*ГўГ*Г® = "<<sqrt(S/T)<<endl;
            ifs.close();
            delete [] f;
        }
    }
    system("pause");
    return 0;
}
Файл данных получен по известной нам формуле(я даже его прикреплю)
Миниатюры
квадратный корень от интеграла   квадратный корень от интеграла  
Вложения
Тип файла: txt data.txt (1.0 Кб, 5 просмотров)
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2012, 16:47     квадратный корень от интеграла #9
Цитата Сообщение от chainiksi Посмотреть сообщение
но я не знаю как в си получить ответ используя эту формулу http://www.cyberforum.ru/attachment....1&d=1335210188
-
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
S = S + 0.5*(pow(f[i],2.0) + pow(f[i - 1],2.0))*1.0;
Ещё раз подчеркуну
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
кто тебе мешает вместо u(x + h) и u(x)
Сообщение от -=ЮрА=-
(pow(u(x + h),2.0) + pow(u(x),2.0))
делать подстановку
pow( u(t[i + 1]) ,2.0) + pow(u(t[i]),2.0) сути же ведь это не поменяет.
. Последний код реализация этих слов, как видешь что аналитическое задание функции что табличное, на результат это не повлияло, в чём проблемма вообще не пойму
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2012, 12:56     квадратный корень от интеграла
Еще ссылки по теме:

C++ Вычислить корень квадратный
C++ Квадратный корень числа
C++ Квадратный корень

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
chainiksi
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 25
26.04.2012, 12:56  [ТС]     квадратный корень от интеграла #10
Спасибо за помощь
Yandex
Объявления
26.04.2012, 12:56     квадратный корень от интеграла
Ответ Создать тему
Опции темы

Текущее время: 20:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru