Yacas/Быстрый старт: различия между версиями

Содержимое удалено Содержимое добавлено
оформление
дополнение
Строка 7:
Yacas имеет C-подобный синтаксис.
 
Простые арифметические выражения поддерживают инфиксную запись:
{|
|
Строка 22:
|
* Sin(3*Pi/2) (Синус)
* Max(1/3, 0, -42−42, 17, 8^6) (Максимум)
* Sqrt(4) (Квадратный корень из 4)
* N(8^(1/3)) (Преобразует символы в число)
Строка 33:
</syntaxhighlight>
 
Списка элементов заключается в фигурные скобки. Для вызова элемента нужно к нему обратиться по индексу. Нумерация с 1.
Запись <syntaxhighlight lang="cpp">{-1,0,1}[3]</syntaxhighlight> вернёт последний элемент из списка.
 
Каждое утверждение в команде следует заканчивать знаком ;
 
== Символьные вычисления ==
Yacas можно использовать как калькулятор, но и для вычисления символьных выражений. После команды
<syntaxhighlight lang="cpp">
restart
</syntaxhighlight>
текущая сессия с памятью о предыдущих вызовах и определениях уходит в забвение.
 
Примеры символьных вычислений из документации:
{|
|
* 1/14+5/21*(30-(1+1/2)*5²); (Вычисление дробей, в этом случае выведет (-12)/7)
* 0+x (Вывод: x)
* x+1*y (Вывод: x+y)
* Sin(ArcSin(alpha))+Tan(ArcTan(beta)) (Вывод: alpha+beta)
|}
 
Каждый предыдущий результат можно получить через оператор <code>%</code>.
 
Для упрощения выражений используется команда <code>Simplify()</code>. Например, Simplify(%) вернёт упрощённый вид
<syntaxhighlight lang="cpp">
In> (x-1)*(x^2+x+1)
Out> (x-1)*(x^2+x+1)
In> Simplify(%)
Out> x^3-1
</syntaxhighlight>
 
Часть простых уравнений можно решить через команду Solve:
<syntaxhighlight lang="cpp">
In> Solve(x/(1+x) == a, x);
Out> {x==a/(1-a)}
In> Solve(x^2+x == 0, x);
Out> {x==0,x==(-1)}
In> Solve(a+x*y==z,x);
Out> {x== -(a-z)/y}
</syntaxhighlight>
 
Можно раскладывать функции в ряд Тейлора
<syntaxhighlight lang="cpp">
In> Taylor(x,0,5) ArcSin(x)
Out> x+x^3/6+(3*x^5)/40
</syntaxhighlight>
 
В общем манипуляция с символами — главная составляющая Yacas.
* <code>Expand((1+x)^7);</code> разворачивает выражение в многочлен
* <code>Limit(x,0) Sin(x)/x;</code> Находит предел функции в точке.
* <code>Newton(Sin(x),x,3,0.0001);</code> Находит ближайший корень к точке с заданной погрешностью.
* <code>DiagonalMatrix({a,b,c});</code> Создаёт диагональную матрицу.
* <code>Integrate(x,a,b) x*Sin(x);</code> Определённый интеграл на промежутке.
* <code>Factor(x^2-1);</code> Разложение многочленов на множители.
* <code>CanProve( (a And b) Or (a And Not b) );</code> Упрощает логические выражения.
* <code>TrigSimpCombine(Cos(a)*Sin(b));</code> Упрощает тригонометрические выражения.