2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Вольфрам: как запросить существование и решение в целых?
Сообщение18.07.2021, 15:02 
Как в веб-версии Вольфрама запросить поиск решения в целых?
Пример уравнения: 3*sin(1/3)*cos(n) + 4*sin(1/4)*cos(n) - sin(1)*sin(n) + 8*cos(1/4)^3*sin(1/4)*cos(n)
И как задать вопрос о существовании решения в целых (без решения)?

 
 
 
 Re: Вольфрам: как запросить существование и решение в целых?
Сообщение18.07.2021, 15:14 
Аватара пользователя
Что подразумевается под «веб-версией Вольфрама»? Если Wolfram|Alpha, так и скажите.
maximkarimov в сообщении #1526477 писал(а):
Пример уравнения
У вас не уравнение. Там какой-то кусок пропал.

 
 
 
 Re: Вольфрам: как запросить существование и решение в целых?
Сообщение18.07.2021, 15:19 
Приравниваем выражение к 0.

 
 
 
 Re: Вольфрам: как запросить существование и решение в целых?
Сообщение18.07.2021, 15:31 
Аватара пользователя
Такой, например, запрос выдаёт решения:
Код:
solve 3*sin(1/3)*cos(n) + 4*sin(1/4)*cos(n) - sin(1)*sin(n) + 8*cos(1/4)^3*sin(1/4)*cos(n)==0 in integers
В данном случае видно, что их бесконечное количество.
UPD. Не, что-то оно странное выдаёт...

 
 
 
 Re: Вольфрам: как запросить существование и решение в целых?
Сообщение18.07.2021, 16:04 
Да, я тоже не могу разобраться - дает в качестве ответа какое-то выражение с целым параметром $c$. Что это значит?
При этом для уравнения: 2^(1/2)*sin(1)*cos(n + pi/4) = 0 Вольфрам дает ясный ответ - no integer solution (Матлаб также отвечает).

 
 
 
 Re: Вольфрам: как запросить существование и решение в целых?
Сообщение18.07.2021, 17:41 
 !  maximkarimov, если вы набираете код - пользуйтесь соответствующими тэгами (или моноширинным шрифтом, соответствующие исправления я внес выше сам). Если это претендует на звание формулы - набирайте ее соответствующим образом.

 
 
 
 Re: Вольфрам: как запросить существование и решение в целых?
Сообщение18.07.2021, 21:07 
При вводе вот такого запроса в Wolfram|Alpha:
Используется синтаксис Text
integer solve [sin(7)*cos(n) - cos(7)*sin(n)] == 0
получаю верное решение: 7.
При запуске вот такого эквивалентного кода в Матлаб:
Используется синтаксис Matlab M
syms n integer
solve(sin(7)*cos(n) - cos(7)*sin(n) == 0, n)
 
получаю вот такую белиберду:
код: [ скачать ] [ спрятать ]
Используется синтаксис Matlab M
Warning: Solutions are parameterized by the symbols: l. To include parameters and conditions in the
solution, specify the 'ReturnConditions' value as 'true'.
> In solve>warnIfParams (line 501)
  In solve (line 357)
Warning: Solutions are valid under the following conditions: in(l, 'integer') & (in((l + log(-(-
848477929802865526233486515397084/324518553658426740434339348119721 -
982385804729668683620098401572320i/324518553658426740434339348119721)^(1/2)/2)*1i)/(2*pi),
'integer') | in((l + log((- 848477929802865526233486515397084/324518553658426740434339348119721 -
982385804729668683620098401572320i/324518553658426740434339348119721)^(1/2)/2)*1i)/(2*pi),
'integer')). To include parameters and conditions in the solution, specify the 'ReturnConditions'
value as 'true'.
> In solve>warnIfParams (line 508)
  In solve (line 357)
 
ans =
 
l
Что делаю не так? Подскажите, плиз. Нужно в Матлабе получать верное решение.

 
 
 
 Re: Вольфрам: как запросить существование и решение в целых?
Сообщение19.07.2021, 08:44 
Aritaborian, явно решить не получается со вспомогательным углом?

 
 
 
 Re: Вольфрам: как запросить существование и решение в целых?
Сообщение19.07.2021, 09:03 
Аватара пользователя
novichok2018, вы, наверное, не меня хотели спросить, а ТС.

 
 
 
 Re: Вольфрам: как запросить существование и решение в целых?
Сообщение19.07.2021, 09:54 
В данном, конкретном случае, удалось "победить" Матлаб следующим образом:
Используется синтаксис Matlab M
z=sym(7);
syms n real
s=solve(sin(z)*cos(n) - cos(z)*sin(n) == 0, 'PrincipalValue',true);
double(s)

ans =

     7
Но несмотря на ограничение переменной (real) в следующем, например, случае, Матлаб выдает комплексное решение:
Используется синтаксис Matlab M
z=sym(7); q=sym(4);
syms n real
s=solve(sin(z)*cos(n) - cos(q)*sin(n) == 0, 'PrincipalValue',true);
double(s)

ans =

   2.3536 + 0.0000i
 
Конечно целостность решения можно проверять взяв $s$ по модулю 1, а вещественность - через идентификацию мнимой части (например, при $q=5$ получаем вещественное $s$). Но все же это странно выглядит - по идее, если для переменной задать ограничение syms n integer и целого решения нет, то и решателю должно быть легче и ответ должен быть $s$=[ ] (то есть пустым). Есть какие-нибудь соображения?

 
 
 [ Сообщений: 10 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group