LINUX.ORG.RU

Maxima присваивание значений

 


1

2

Добрый день! Объясните, пожалуйста, простую с виду вещь. Вот я считаю и присваиваю значение одной переменной, вот, например, так:

k:solve([sum(U[j]/I[j]*(Ro[j]-k*U[j]/I[j]),j,first,end)=0], [k]),numer;

Вижу, что все считается, затем выводится результат.

(%o7) [k=0.321881952624]
Затем пытаюсь любым способом задействовать переменную k для подсчета значения другой переменной, пусть банальное:
a:solve([k*a=3], [a]),numer;

И тут я не могу добиться численного результата, хотя в прошлом случае это получилось. Упорно выводится нечто страшное вроде:

(%o8) [[[[a*k-3=6.5436461196178512*10^-5*(4919*a-45846)]=6.5436461196178512*10^-5*(4919*a-45846)]=6.5436461196178512*10^-5*(4919*a-45846)]=0]
Подскажите пожалуйста, отчего такое может быть? Скорее всего, я как-то не так понимаю синтаксис. Или переменной k не присвоилось значение, поэтому в подсчете а оно и не используется? Или все посчиталось верно, но выводится не так, как мне надо?

Все потому что ты не читаешь справку. Первая функция возвращает список решений.

anonymous
()
Ответ на: комментарий от anonymous

Да, верно, возвращает. Но потом же я (думаю, что) присваиваю значения из этого списка переменной k (с помощью оператора присвоения ":").

tehnologsgu
() автор топика
Ответ на: комментарий от anonymous

Благодарю, смогла довести программу до рабочего состояния, хоть и странным образом: сначала пишу конечное уравнение с параметрами в символьном виде, затем отдельно нахожу параметры с помощью solve, а уже после полученный список подставляю в конечное уравнение. Хотя думаю, есть способ как-то сразу присвоить значения из списка конкретным параметрам..

tehnologsgu
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.