Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.09.2018
Сообщений: 11

Решение уравнения перебором

14.11.2018, 19:42. Показов 3813. Ответов 28
Метки нет (Все метки)

Помогите с кодом. Суть такая: нужно найти x,y,z из уравнения https://www.cyberforum.ru/cgi-bin/latex.cgi?r=\sqrt{(x_{1}-x){^{2}+(y_{1}-y){^{2}+(z_{1}-z){^{2}} . r, x_1, y_1, z_1 - задаю сам,т.е. они известны. Я решил попробовать методом перебора. Но результатом являются числа, которые пишу в условии цикла,т.е. 360 и потом вместо x,y,z в уравнение подставляется 360.
Может быть кто нибудь подскажет что и где нужно изменить в коде ? набросок кода ниже


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int X_1 = StrToFloat(Edit1->Text);
int Y_1 = StrToFloat(Edit2->Text);
int Z_1 = StrToFloat(Edit3->Text);
int x;
int y;
int z;
 
for (x = 0; x<360; x=x+1)
    for (y = 0; y<360; y=y+1)
        for (z = 0; z<360; z=z+1)
 
 
 
r = sqrt((pow((X_1-x),2)+ pow((Y_1-y),2) + pow((Z_1-z),2)));
Memo1->Lines->Strings[0] = FloatToStr(x);
Memo1->Lines->Strings[1] = FloatToStr(y);
Memo1->Lines->Strings[2] = FloatToStr(z);

Буду очень благодарен кто поможет))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2018, 19:42
Ответы с готовыми решениями:

Решение задачи перебором
Дана задача в общем виде: Имеются предметы ценой x, y, z. Найти все возможные наборы предметов такие, что суммы их цен была равна w. ...

Решение задачи компоновки элементов схемы полным перебором
Доброго времени суток, необходимо найти все возможные разбиение графа на подграфы. На вход количество вершин и матрица смежности графа....

Определить тип уравнения, указать метод решения, общее решение дифференциального уравнения
дано дифференциальное уравнение первого порядка: (x+y+1)dx+(x-y2+3)dy=0. Определить тип уравнения, указать метод решения, общее решение...

28
483 / 275 / 57
Регистрация: 08.10.2015
Сообщений: 1,190
17.11.2018, 04:47
Denis68koltsov, Уточните, пожалуйста условие. То что у Вас в программе переменные - целые, наводит на мысль, что может быть задача формулируется так: Найти, если они есть, точки с целыми координатами лежащие на заданной сфере радиуса R. ?
0
0 / 0 / 0
Регистрация: 19.09.2018
Сообщений: 11
17.11.2018, 09:57  [ТС]
В конечном итоге нужно осуществить этот метод. Для начала мне просто сказали написать программу для одного уравнения. Но если кто-то может помочь написать сразу для данного метода, то будет только лучше

Миниатюры
Решение уравнения перебором  
0
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
18.11.2018, 03:51
Цитата Сообщение от Denis68koltsov Посмотреть сообщение
написать программу для одного уравнения
Кто это Вам такое посоветовал? Решение пространственной засечки не решается методом перебора. Решается в 2 этапа, сначала находят приближенные координаты, потом вычисляются невязки и координаты уравниваются.
0
0 / 0 / 0
Регистрация: 19.09.2018
Сообщений: 11
18.11.2018, 10:57  [ТС]
TrollHammer, тогда я вообще в тупике
и как это всё начать реализовать?
0
place status here
 Аватар для gunslinger
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,026
18.11.2018, 22:32
Если задание то, что на картинке, то ничего не мешает найти неизвестные тем же методом перебора.
0
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
19.11.2018, 03:00
gunslinger, Не получится, я уже об этом написал. Открываем "Глобальные системы позиционирования" Серапинас Б. Б. Задача решается так
1. Находим приближенные координаты последовательно от двух реперов (в данном случае - спутников) A-B, A-C, B-C
2. Получаем невязки (расхождения координат)
3. Из невязок находим поправку к координатам
1
0 / 0 / 0
Регистрация: 19.09.2018
Сообщений: 11
13.12.2018, 17:07  [ТС]
TrollHammer, всю голову изломал и весь интернет перерыл, но ничего так и не получилось сделать ((
можешь помочь? Просто уже время сдачи на исходе
0
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
14.12.2018, 00:34
Denis68koltsov, в google - "решение пространственной линейной засечки". А так попробую порыться в загашниках, где-то была курсовая, но не обещаю
0
483 / 275 / 57
Регистрация: 08.10.2015
Сообщений: 1,190
14.12.2018, 10:46
Denis68koltsov, месяц задача висит и нет ни каких сдвигов, удивительно.
Начну с того, что задача решается точно - нужны только бумажка и карандаш. Для упрощения (что бы не возится с радикалами) обычно переносят центр одной из сфер в начало координат, а центр другой помещают на одну из осей. Потом, после получения решения, делают обратные преобразования. На слух - страшно, но если начать делать - все просто. Если Вам требуется именно численное решение, без формул, то посмотрите вот это:

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
46
47
48
49
50
#include <vcl.h>
#pragma hdrstop
#include <math.h>
//#include <stdio.h>
//#include <iostream>
#include "Us0.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
double Xmin=-20,Xmax=20,Ymin=-20,Ymax=20,Zmin=-20,Zmax=20;
double step =1.;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int X1 = 105, X2=10, X3=-3;     //StrToFloat(Edit1->Text);
int Y1 = -5,  Y2=100,  Y3=0;    //StrToFloat(Edit2->Text);
int Z1 = 10,  Z2=2, Z3=-111;    //StrToFloat(Edit3->Text);
double R1=100, R2=105, R3=110,r1,r2,r3, S1,S2,S3;
double x,y,z, a=0,eps,xmin=R3,xmax=-R3,ymin=R3,ymax=-R3,zmin=R3,zmax=-R3;
eps=(R3*8*step);
r1=R1*R1; r2=R2*R2; r3=R3*R3;
Edit1->Text= FloatToStr(eps);
for (x=Xmin; x<Xmax; x=x+step)
  for (y = Ymin; y < Ymax; y=y+step)
     for (z = Zmin; z< Zmax; z=z+step)
       {
        S1=(X1-x)*(X1-x)+ (Y1-y)*(Y1-y) + (Z1-z)*(Z1-z);
        S2=(X2-x)*(X2-x)+ (Y2-y)*(Y2-y) + (Z2-z)*(Z2-z);
        S3=(X3-x)*(X3-x)+ (Y3-y)*(Y3-y) + (Z3-z)*(Z3-z);
        if((fabs(r1-S1)< eps) && (fabs(r2-S2)< eps) && (fabs(r3-S3)< eps))
          {
           if(x<xmin)xmin=x; else if(x>xmax)xmax=x;
           if(y<ymin)ymin=y; else if(y>ymax)ymax=y;
           if(z<zmin)zmin=z; else if(z>zmax)zmax=z; a=1;
          }
       }
Xmin=xmin; Xmax=xmax; Ymin=ymin; Ymax=ymax; Zmin=zmin; Zmax=zmax; step=step/2;
if(a)
 {
  Label1->Caption="xmin ="+FloatToStr(Xmin)+"  ymin ="+FloatToStr(Ymin)+"  zmin ="+FloatToStr(Zmin);
  Label2->Caption="xmax ="+FloatToStr(Xmax)+"  ymax ="+FloatToStr(Ymax)+"  zmax ="+FloatToStr(Zmax);
 }
  else {Label3->Visible=1; Label3->Caption = "xi-xi";}
}
Набросал без "красивостей", в стареньком билдере-5, но как образец может сгодиться. На форму бросьте кнопку Label- 3 шт. и Edit1-1 шт., ну поймете, что для чего.
Конечно надо сделать цивильный ввод данных, а также проверку их совместимости, думаю, разберетесь.
Образец рабочий. При первом нажатии кнопки делается прогонка по x,y,z в заданном диапазоне (Xmin,Xmax,...) c исходным шагом и устанавливаются новые границы для x,y,z и новый шаг - для следующей итерации (по нажатию кнопки). На каждой итерации в Label-ях отображаются диапазоны. Сходится быстро. Будут вопросы - задавайте.

Добавлено через 7 минут
Исходные границы можно просто задать по максимальному R.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.12.2018, 10:46

Алгоритмизация решения уравнения для банковского IT-шника (или просто решение уравнения)
Добрый день. Нужна помощь (в идеале) с алгоритмизацией решения уравнения или (тоже отлично) способом численного решения уравнения для...

Найти решение уравнения, изоклинную и интегральную кривые, решение задачи Коши
Помогите пожалуйста! а) Найти решение вида: x=a,y=b,y=kx+b y'=\frac{y^2-4}{xy},\\ y'=x-y+2 б) Какая кривая является одновременно...

Найти общее решение или частное решение уравнения первого порядка
Помогите решить: 2*x*sqrt(1-y^2)=y' * (1+x^2). Я не понимаю как решить это, т.к. dx и dy получаются в знаменателе...

Найти общее решение дифференциального уравнения II порядка и частное решение.
помоги пожалуйста!!! Найти общее решение дифференциального уравнения II порядка и частное решение, удовлетворяющее указанным начальным...

Найти общее решение дифференциального уравнения I порядка и частное решение.
помогите пожалуйста!!!! Найти общее решение дифференциального уравнения I порядка и частное решение, удовлетворяющее указанным начальным...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru