Set:: write: Tag Plus in защищен [закрыт]

Если у меня есть такое уравнение:

x+y=27
xy=180

Я хочу, чтобы решить эту проблему с помощью:

Solve[{x+y==27,xy==180},{x,y}]

однако это приводит к следующим ошибкам:

  • Set::write: Tag Plus в x+y защищен. >>
  • Solve::svars: уравнения не могут дать решения для всех переменных "решить". >>

почему? И как мне это исправить?

24
задан Tyilo
12.02.2023 4:03 Количество просмотров материала 2872
Распечатать страницу

1 ответ

если вы просто запустите строку

Solve[{x + y == 27, x y == 180}, {x, y}]

тогда все работает нормально, и вы найдете {{x -> 12, y -> 15}, {x -> 15, y -> 12}}.

ошибку вы видите потому, что где-то у вас заявление типа

In[1]:= x + y = 27

During evaluation of In[1]:= Set::write: Tag Plus in x+y is Protected. >>

Out[1]= 27

здесь head на x + y is Plus который является защищенным символом и не может быть наивно даны новые определения. Возможно, у вас есть какое-то странное определение, скрывающееся где-то, и в этом случае проще всего перезапустить ядро и попробовать снова.

мораль этой истории в том, что = (Set) не то же самое, что == (равной).

3
отвечен Simon 2023-02-13 11:51

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх