Форум программистов, компьютерный форум, киберфорум
Математика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1

Задача на определение существования вещественных чисел для системы уравнений

13.09.2013, 23:41. Показов 2364. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вводятся числа a1, b1, c1, a2, b2, c2.
Определить существуют ли вещественные чиcла x, y, при которых
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
a1*x+b1*y+c1>=0<br />
a2*x+b2*y+c2>=0<br />

Как это решить? Есть ли математический способ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.09.2013, 23:41
Ответы с готовыми решениями:

Задача Коши для системы дифференциальных уравнений
Всем доброго дня. Помогите пожалуйста с программированием в matlab. Решить задачу Коши для системы дифференциальных уравнений на отрезке ...

Задача Коши для системы дифференциальных уравнений
Скоро контрольная работа.Самому не справиться... условие такое:

Доказательство теоремы существования и единственности для уравнений n-го порядка и систем
Здравствуйте. Кто-нибудь может скинуть ссылку на доказательство теоремы существования и единственности для уравнений n-го порядка и...

29
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
14.09.2013, 00:01
Цитата Сообщение от Bohes2013 Посмотреть сообщение
Есть ли математический способ?
Уравнение Ax + By + C = 0 задаёт прямую на плоскости с нормальным вектором n(A; B).
Каждая прямая разбивает плоскость на две полуплоскости, в одной из которых Ax + By + C >= 0.
Так что задача сводится к рассмотрению взаимного расположения двух прямых.
0
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
15.09.2013, 11:16
Цитата Сообщение от Bohes2013 Посмотреть сообщение
Определить существуют ли вещественные числа x, y
Удалось найти решение?
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1
15.09.2013, 13:52  [ТС]
Цитата Сообщение от Heidegger Посмотреть сообщение
Удалось найти решение?
Думаю, алгоритм таков:

1) Если (a1/a2 <> b1/b2), то существуют
2) Если (a1/a2=b1/b2=c1/c2), то существуют
3) Если Если первые 2 пункта не выполнены, то прямые параллельны, и нужно определить есть ли пересечения полуплоскостей.

Вот на 3-ем пункте я застрял, еще не знаю как его реализовать. Также не понятно, что делать если одно из чисел равно 0.
0
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
15.09.2013, 14:28
Цитата Сообщение от Bohes2013 Посмотреть сообщение
Думаю, алгоритм таков:
1) Если (a1/a2 <> b1/b2), то существуют
2) Если (a1/a2=b1/b2=c1/c2), то существуют
3) Если Если первые 2 пункта не выполнены, то прямые параллельны, и нужно определить есть ли пересечения полуплоскостей.
Да, всё верно. Можно немного упростить задачу, нормировав левые части:

https://www.cyberforum.ru/cgi-bin/latex.cgi?(1)/\sqrt{a_1^2+b_1^2}

https://www.cyberforum.ru/cgi-bin/latex.cgi?(2)/\sqrt{a_2^2+b_2^2}

и повернув оси таким образом, чтобы первая прямая стала параллельна оси абсцисс (или совпала с ней).

Тогда нормальный вектор первой прямой принимает вид (0; 1), и задача становится тривиальной.
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1
15.09.2013, 14:39  [ТС]
Цитата Сообщение от Heidegger Посмотреть сообщение
Да, всё верно. Можно немного упростить задачу, нормировав левые части:

https://www.cyberforum.ru/cgi-bin/latex.cgi?(1)/\sqrt{a_1^2+b_1^2}

https://www.cyberforum.ru/cgi-bin/latex.cgi?(2)/\sqrt{a_2^2+b_2^2}

и повернув оси таким образом, чтобы первая прямая стала параллельна оси абсцисс (или совпала с ней).

Тогда нормальный вектор первой прямой принимает вид (0; 1), и задача становится тривиальной.
Не подскажете, что значит "нормировать", первый раз встречаюсь с данным термином в геометрии.

Первая прямая становится параллельной оси абсцисс уже после нормирования или еще нужно делать дополнительные действия?

Можете скинуть ссылку на топик или книжку по данной теме?
0
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
15.09.2013, 15:09
Цитата Сообщение от Bohes2013 Посмотреть сообщение
что значит "нормировать
Для вектора нормирование – приведение к единичной длине. В данном случае можно разделить все коэффициенты левой части неравенства на длину нормального вектора соответствующей прямой:

https://www.cyberforum.ru/cgi-bin/latex.cgi?(1)/\sqrt{a_1^2+b_1^2}

В результате длина нормального вектора, очевидно, станет равна 1, и от отношений коэффициентов можно будет перейти к соответствующим равенствам.

Цитата Сообщение от Bohes2013 Посмотреть сообщение
Первая прямая становится параллельной оси абсцисс уже после нормирования или еще нужно делать дополнительные действия?
Да, нужно ещё выполнить поворот координатных осей.

Достаточно материала Прямая на плоскости и понимания сущности нормального вектора прямой.

Не по теме:

Я полагал, что упрощаю задачу, но, видимо, я её только усложнил.
Можно попробовать реализовать алгоритм в каком-либо матпакете – так будет проще обсуждать тему.

0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1
15.09.2013, 16:37  [ТС]
Цитата Сообщение от Heidegger Посмотреть сообщение
Можно попробовать реализовать алгоритм в каком-либо матпакете – так будет проще обсуждать тему.
Можно написать на pascal или C++
0
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
15.09.2013, 16:41
Цитата Сообщение от Bohes2013 Посмотреть сообщение
Можно написать на pascal или C++
Можно, но лучше в пакетах типа Mathcad или Mathematica, где будет возможность сразу же визуализировать результат, чтобы убедиться в правильности вычислений.
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1
15.09.2013, 16:57  [ТС]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program isExists;
var
 a1, b1, c1, a2, b2, c2:real;
 Exist:boolean;
Begin
Exist:=true;
 WriteLn('Введите числа a1, b1, c1, a2, b2, c2: '  );
 ReadLn(a1, b1, c1, a2, b2, c2);
 //-----
// if (a1*b2-a2*b1<>0)  then Exist:=true;
// if (a1*b2-a2*b1 = 0) and (b1*c2-c1*b2=0) then  Exist:=true;
 
 
 
if Exist then
 WriteLn('Существует') else
 WriteLn ('Не существует');
 
end.
Добавлено через 1 минуту
Однако, я не понимаю, как вычислить результат левой части уравнения, поделив ее на длину нормального вектора, если x и y неизвесны
0
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
15.09.2013, 17:43
Цитата Сообщение от Bohes2013 Посмотреть сообщение
как вычислить результат левой части уравнения, поделив ее на длину нормального вектора, если x и y неизвесны
На (строго положительную) длину нормального вектора нужно разделить коэффициенты левой части уравнения (при этом знак неравенства сохраняется) – это сделает коэффициенты обоих уравнений величинами одного порядка, и их можно будет сравнивать непосредственно (с учётом знака). Но закомментированные проверки можно выполнять и без нормализации – тем самым будут выполнены два пункта алгоритма из трёх, и останется только рассмотреть случай параллельности прямых. Его при желании тоже можно реализовать без нормализации и поворота осей.
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1
18.09.2013, 14:55  [ТС]
Цитата Сообщение от Heidegger Посмотреть сообщение
На (строго положительную) длину нормального вектора нужно разделить коэффициенты левой части уравнения (при этом знак неравенства сохраняется) – это сделает коэффициенты обоих уравнений величинами одного порядка, и их можно будет сравнивать непосредственно (с учётом знака). Но закомментированные проверки можно выполнять и без нормализации – тем самым будут выполнены два пункта алгоритма из трёх, и останется только рассмотреть случай параллельности прямых. Его при желании тоже можно реализовать без нормализации и поворота осей.
Так как в случае пересечения прямых или их совпадения, проверки закомментированные можно и не делать... Получается, можно нормированные коэффициенты сравнить и получится ответ и для параллельности?

Добавлено через 7 минут
Нормирование
Pascal
1
2
3
4
5
6
7
 a1:=a1/(sqrt(sqr(a1)+sqr(b1));
 b1:=b1/(sqrt(sqr(a1)+sqr(b1));
 c1:=c1/(sqrt(sqr(a1)+sqr(b1));
 
 a2:=a2/(sqrt(sqr(a2)+sqr(b2));
 b2:=b2/(sqrt(sqr(a2)+sqr(b2));
 c2:=c2/(sqrt(sqr(a2)+sqr(b2));
0
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
18.09.2013, 15:01
Цитата Сообщение от Bohes2013 Посмотреть сообщение
можно нормированные коэффициенты сравнить и получится ответ и для параллельности?
Да, можно. Достаточно проверить случай:
Pascal
1
(a1*b2 - a2*b1 = 0) and (a1*b1 + a2*b2 < 0)
Первое условие – коллинеарности (векторное произведение равно 0), второе – антипараллельности (скалярное произведение отрицательно).

Только в этом случае возможно отсутствие решений.

Нормированные коэффициенты c1 и c2 будут при этом характеризовать расстояния от начала координат до соответствующей прямой (можно посмотреть материал по нормальному уравнению прямой) – нужно только грамотно разобраться со знаками.
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1
18.09.2013, 15:26  [ТС]
В предыдущем моем посте ошибка, нужно так:

Pascal
1
2
3
4
5
6
7
8
9
 if (c1 > 0) then u1:=1 else u1:=-1;
 a1:=a1/u1*(sqrt(sqr(a1)+ sqr(b1)));
 b1:=b1/u1*(sqrt(sqr(a1)+sqr(b1)));
 c1:=c1/u1*(sqrt(sqr(a1)+sqr(b1)));
 
 if (c2 > 0) then u2:=1 else u2:=-1;
 a2:=a2/u2*(sqrt(sqr(a2)+sqr(b2)));
 b2:=b2/u2*(sqrt(sqr(a2)+sqr(b2)));
 c2:=c2/u2*(sqrt(sqr(a2)+sqr(b2)));
Добавлено через 11 минут
Цитата Сообщение от Heidegger Посмотреть сообщение
второе – антипараллельности (
антипараллельность относительно какого угла?

Добавлено через 7 минут
Опечатка вышла, нужно поменять на
if (c1 > 0) then u1:=-1 else u1:=1;
if (c2 > 0) then u2:=-1 else u2:=1;
0
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
18.09.2013, 15:29
Цитата Сообщение от Bohes2013 Посмотреть сообщение
В предыдущем моем посте ошибка
Ошибки нет – нормирование было выполнено верно. Нужно будет только в дальнейшем правильно учесть знаки коэффициентов c.

Цитата Сообщение от Bohes2013 Посмотреть сообщение
нужно так:
А вот если явно строить нормальное уравнение прямой, то знаки нужно выбирать противоположными знаку коэффициента c (но при этом может меняться знак неравенства). И со скобками желательно в обоих случая разобраться.

Цитата Сообщение от Bohes2013 Посмотреть сообщение
антипараллельность относительно какого угла?
Взаимной антипараллельности – только в этом случае возможно отсутствие решений.
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1
18.09.2013, 15:38  [ТС]
Цитата Сообщение от Heidegger Посмотреть сообщение
Взаимной антипараллельности – только в этом случае возможно отсутствие решений.
Понятно,т.е. если они противоположнонаправленные

Добавлено через 2 минуты
Цитата Сообщение от Heidegger Посмотреть сообщение
А вот если явно строить нормальное уравнение прямой, то знаки нужно выбирать противоположными знаку коэффициента c (но при этом может меняться знак неравенства). И со скобками желательно в обоих случая разобраться.
Получается, чтобы применить условие, которое представлено ниже, нужны дополнительные проверки?
Цитата Сообщение от Heidegger Посмотреть сообщение
Достаточно проверить случай:
Код Pascal
1
(a1*b2 - a2*b1 = 0) and (a1*b1 + a2*b2 < 0)
Добавлено через 2 минуты
Кстати, разве слово антипараллельность может быть применено к прямым?
0
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
18.09.2013, 23:20
Цитата Сообщение от Bohes2013 Посмотреть сообщение
т.е. если они противоположнонаправленные
Да.
Цитата Сообщение от Bohes2013 Посмотреть сообщение
разве слово антипараллельность может быть применено к прямым?
Речь идёт о нормальных векторах прямых (координаты которых определяются коэффициентами a и b).
Цитата Сообщение от Bohes2013 Посмотреть сообщение
чтобы применить условие, которое представлено ниже, нужны дополнительные проверки?
Да, по знакам нормальных векторов и величинам коэффициентов c нужно выяснить взаимное расположение параллельных прямых. Если выполнить поворот координат, то картина стянет проще и наглядней.

Добавлено через 7 часов 27 минут
После нормирования и поворота осей координат исходная система в последнем случае принимает вид:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\left\{ \begin{align}<br />
& x\ge -c_1, \\<br />
& x\le \; c_2. \\ <br />
\end{align} \right.

Она не имеет решений только в случае –c1 > c2 или c1 + c2 < 0.

Тогда условие отсутствия решений можно записать так:

Pascal
1
(a1*b2 - a2*b1 = 0) and (a1*b1 + a2*b2 < 0) and (c1 + c2 < 0)
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1
19.09.2013, 08:49  [ТС]
А каким образом можно повернуть прямые, не зная их координаты?
0
617 / 242 / 16
Регистрация: 31.07.2013
Сообщений: 376
19.09.2013, 09:30
Цитата Сообщение от Bohes2013 Посмотреть сообщение
каким образом можно повернуть прямые, не зная их координаты?
Для этого достаточно знать угол поворота, а он определяется координатами нормированного нормального вектора первой прямой:

https://www.cyberforum.ru/cgi-bin/latex.cgi?cos \alpha = a_1,\; sin \alpha =b_1

Поворот осуществляется подстановкой в уравнения прямых новых переменных по схеме:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\left\{ \begin{align}<br />
  & x={x}'\cos \alpha -{y}'\sin \alpha , \\ <br />
 & y={x}'\sin \alpha +{y}'\cos \alpha , \\ <br />
\end{align} \right.\;\;\;\;\;\;\;\text{\cyr{t.e.}}\;\;\;\left\{ \begin{align}<br />
  & x={{a}_{1}}{x}'-{{b}_{1}}{y}', \\ <br />
 & y={{b}_{1}}{x}'+{{a}_{1}}{y}', \\ <br />
\end{align} \right.

и раскрытием скобок:

https://www.cyberforum.ru/cgi-bin/latex.cgi?ax+by+c\, =\, a({x}'\cos \alpha -{y}'\sin \alpha )+b({x}'\sin \alpha +{y}'\cos \alpha )+c\, =\, (a\cos \alpha +b\sin \alpha ){x}'+(b\cos \alpha -a\sin \alpha ){y}'+c

На величины (нормированных) коэффициентов c1 и c2 поворот не влияет – их можно непосредственно подставлять в приведённое выше условие. Но поворот можно выполнить для проверки правильности вычислений: в результате коэффициенты первого уравнения должны принять вид a1 = 1, b1 = 0.
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 374
Записей в блоге: 1
19.09.2013, 12:03  [ТС]
Как получается последнее преобразование?
Цитата Сообщение от Heidegger Посмотреть сообщение



https://www.cyberforum.ru/cgi-bin/latex.cgi?\, a({x}'\cos \alpha -{y}'\sin \alpha )+b({x}'\sin \alpha +{y}'\cos \alpha )+c\, =\, (a\cos \alpha +b\sin \alpha ){x}'+(b\cos \alpha -a\sin \alpha ){y}'+c
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.09.2013, 12:03
Помогаю со студенческими работами здесь

Решение системы нелинейных уравнений (для двух уравнений)
Нужна написать программный модуль для решения систем неленейных уравнений методом ньютона и методом простых итераций. Вот уравнения: sinx +...

Определение минимального числа из N введенных вещественных чисел
Составить сценарий тестирования разработанных программ Оформить процедуры 1)ввода массива из N вещественных элементов и 2)определения...

Решение системы дифференциальных уравнений, задача Коши
Решение системы дифференциальных уравнений. На отрезке решить задачу Коши для системы:cry: \begin{cases} \frac{dy_1}{dx}=y_2 &amp;...

Перевод целых и вещественных чисел из n-й системы счисления в 10-ю
Помогите написать функцию перевода целых и вещественных чисел из n-й системы счисления в 10-ю

Перевод вещественных чисел из двоичной системы счисления в десятичную
Перевод вещественных чисел из двоичной системы счисления в десятичную По такой схеме


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru