Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 35

Интегрирование дифференциального уравнения

20.03.2010, 23:57. Показов 2743. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание:

Подготовить программу интегрирования дифференциального уравнения у’=cos(x+1)*tg(x)+y на отрезке 0<=x<=1 при у(0)=0. Интерфейс приложения – диалог. Обязательные элементы управления – EditBox, Picture и ListBox.

Есть следующий код:

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
{
UpdateData(true);
float p1,d; 
float fk,f1;
char finish;
if(fu(k)*fu(l)>0) goto finish;
do
{p1=(k+l)/2;
f1=fu(p1);
if(f1==0)
{ d=0;
m_2=p1;
m_3=d;
goto finish;
};
fk=fu(k);
if(fk*f1<0)
l=p1;
else
k=p1;
d=l-k;
m_2=p1;
m_3=d;
}
while(d>=e);
finish:;
float I;
int n=1000000;
float integral (float a, float b,int n);
I=integral(0,1,n);
m_1=I;
UpdateData(false);
}
 
// Код вспомогательной функции:
 
float fu(float t)
{return cos(t+1)*tan(t);}
И следующие ошибки:

error LNK2001: unresolved external symbol "double __cdecl integral(double,double,int)" (?integral@@YANNNH@Z)
Debug/try14.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

В чём проблема? Заранее спасибо)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2010, 23:57
Ответы с готовыми решениями:

Разработать программу, реализующую численное интегрирование по методу Рунге-Кутта 4-го порядка точности дифференциального уравнения
Всем привет! Я полное дно в этом вопросе, да и как то отвык от данных задач, но если не сложно то нужна помощь. Нужно сделать курсовую...

Решение дифференциального уравнения
Из численного решения дифференциального уравнения найти зависимость x(t) и x'(t) для трех различных шага по времени. Разбить временной...

Найти решение дифференциального уравнения
Здравствуйте. Я бы хотела попросить о помощи с написанием программы. Я пыталась понять самостоятельно, как решить эту задачу, но у меня...

16
 Аватар для GAME
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
21.03.2010, 00:00
C++ Скопировано
1
float integral (float a, float b,int n);
скорей всего в этой строчке..
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12840 / 7581 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
21.03.2010, 03:09
Цитата Сообщение от БлондинкаЯ Посмотреть сообщение
float integral (float a, float b,int n);
Это объявление функции, а определение где?

Не по теме:

Как-то ник с заголовком не вяжется :D

0
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 35
21.03.2010, 17:06  [ТС]
Сейчас будем оправдывать ник))) Определение это что вроде int integral (int a, int b, int n)?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
21.03.2010, 17:42
Объявление - это сигнатура функции + тип возвращаемого значения (прототип функции):
C Скопировано
1
int func(const int n);
Описание (определение, семантика) - это исполняемый код функции:
C Скопировано
1
2
3
4
int func(const int n)
{
   return n+2;
}
0
 Аватар для GAME
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
21.03.2010, 18:00
+ещё функции нельзя объявлять\описывать внутри других функций
C++ Скопировано
1
2
3
4
5
6
//Нельзя
int main()
{
int func(int);
return 0;
}
C++ Скопировано
1
2
3
4
5
6
7
8
9
//Нельзя
int main()
{
int func(int a)
   {
      return a*a;
   };
return 0;
}
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
21.03.2010, 18:20
GAME, ну почему же, объявлять функции внутри других функций можно, а вот описывать уже нельзя
0
 Аватар для GAME
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
21.03.2010, 18:38
Цитата Сообщение от Nameless One Посмотреть сообщение
GAME, ну почему же, объявлять функции внутри других функций можно, а вот описывать уже нельзя
вот блин)))
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12840 / 7581 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
21.03.2010, 19:03
Друзья, от темы не отходим!

БлондинкаЯ, я так понимаю, Вам этот код или дал кто-то, или скачали откуда-то? Как оказалось - не весь... Если Вы не представляете, что должна функция
C Скопировано
1
float integral (float a, float b,int n);
делать, так хоть задание напишите...
0
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 35
21.03.2010, 19:09  [ТС]
А применительно к моему коду определение будет вроде

float integral (float a, float b,int n);
{
return cos(n+1)*tan(n);
}
?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
21.03.2010, 19:24
Цитата Сообщение от БлондинкаЯ Посмотреть сообщение
А применительно к моему коду определение будет вроде

float integral (float a, float b,int n);
{
return cos(n+1)*tan(n);
}
?
Никак не вяжется с понятием "integral". Лично я думаю, что эта функция считает определенный интеграл в пределах от a до b, число отрезков, на которые разбивается функция в этих пределах равно n.

Добавлено через 7 минут
Вот возможное тело функции (если я не напутал с определением интеграла):
C++ Скопировано
1
2
3
4
5
6
7
{
float sum=0;
float step=(b-a)/(float)n;
for(size_t i=1; i<=n; ++i)
    sum+=f(a+step*i)*step;
return sum;
}
Здесь float f(float x) - вычисление значения интегрируемой функции в точке x
0
 Аватар для GAME
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
21.03.2010, 19:25
Нэ. Тут надо вспомнить курс мат.анализа за первый семестр, и проинтегрировать... ну или можно попробовать считать интеграл методом прямоугольников(в своё время я так и делал)
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
21.03.2010, 19:27
GAME, так вроде оно и есть, или не так?
0
 Аватар для GAME
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
21.03.2010, 19:36
Nameless One, пока писал пост,вы уже отписались) всё так =)
0
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 35
21.03.2010, 21:19  [ТС]
Значит конечный вид такой:
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
39
40
41
42
43
44
45
{
UpdateData(true);
float p1,d; 
float fk,f1;
char finish;
if(fu(k)*fu(l)>0) goto finish;
do
{p1=(k+l)/2;
f1=fu(p1);
if(f1==0)
{ d=0;
m_2=p1;
m_3=d;
goto finish;
};
fk=fu(k);
if(fk*f1<0)
l=p1;
else
k=p1;
d=l-k;
m_2=p1;
m_3=d;
}
while(d>=e);
finish:;
float I;
int n=1000000;
float integral (float a, float b,int n);
I=integral(0,1,n);
m_1=I;
{
float sum=0;
float step=(b-a)/(float)n;
for(size_t i=1; i<=n; ++i)
    sum+=f(a+step*i)*step;
return sum;
}
UpdateData(false);
}
 
// Код вспомогательной функции:
 
float fu(float t)
{return cos(t+1)*tan(t);}
?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12840 / 7581 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
21.03.2010, 21:23
Добавьте ещё
C++ Скопировано
1
2
3
4
5
6
7
float integral (float a, float b,int n){
float sum=0;
float step=(b-a)/(float)n;
for(size_t i=1; i<=n; ++i)
    sum+=f(a+step*i)*step;
return sum;
}
Добавлено через 50 секунд
и перестаньте один и тот же код вставлять, да ещё и без тегов!
0
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 35
21.03.2010, 23:08  [ТС]
Так я же вроде вставила уже этот кусок? А за теги извините - не знаю как их делать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2010, 23:08
Помогаю со студенческими работами здесь

Решение дифференциального уравнения методом Эйлера
Написать программу, находящую решение дифференциального уравнения y‘=f(x,y) методом Эйлера на отрезке с шагом h при начальных условиях...

Решение дифференциального уравнения методом Эйлера
Написать программу, находящую решение дифференциального уравнения y‘=f(x,y) методом Эйлера на отрезке с шагом h при начальных условиях...

Решение дифференциального уравнения методом Рунге-Кутта
решить уравнение v'=u/m*m'. обе производные меняются по времени масса уменьшается, а скорость увеличивается, u=const

Решение дифференциального уравнения Риккати методом Эйлера
---------------------------------------- Это так сказать задание. Решить дифференциального уравнения Риккати методом Эйлера Само...

Решение дифференциального уравнения методом Рунге-Кутты
Не могу понять почему не правильно выдает значения. #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер