标签: maxima

从Maxima输入生成LaTeX

我想使用Maxima来评估文档.将Maxima输出转换为TeX很容易:

(%i1) tex(5*x^2+sin(x)+c)$
$$\sin x+5\,x^2+c$$
Run Code Online (Sandbox Code Playgroud)

但是,它不适用于以前的输入行:

(%i2) 5*x^2+sin(x)+c;
                                           2
(%o2)                          sin(x) + 5 x  + c
(%i3) tex(%i2);

\begin{verbatim}
(%i2)sin(x)+5*x^2+c;
\end{verbatim}

(%o3)                                (%i2)
Run Code Online (Sandbox Code Playgroud)

经过大量的研究(包括这里很接近,但没有雪茄)我已经空了.任何见解?

latex maxima

17
推荐指数
1
解决办法
9836
查看次数

如何在函数定义中使用Maxima的diff?

我想在另一个函数中使用函数的导数.如何在Maxima中完成?

例如:

f(x) := 2*x^4;
g(x) := diff(f(x),x)-8;
Run Code Online (Sandbox Code Playgroud)

现在按预期g(x)收益8x^3-8,但是 g(0)给出错误,因为diff(f(0),0)没有意义.但那我该如何正确定义g呢?

math maxima differential-equations

13
推荐指数
2
解决办法
6680
查看次数

要求最大值不要求正,负或零

有没有办法告诉maxima一个表达总是积极的?下面是一个示例代码段,它会导致maxima向表达式提出问题sin(a)*x:

 declare([a,x,y],real);
 ca: cos(a) = (x / (sqrt(x*x + y*y)));
 a1: solve(ca,a)[1];
 solve(a1,y);

maxima

11
推荐指数
1
解决办法
5293
查看次数

千里马:将矩阵转换为列表

我按照以下方式将列表转换为Maxima中的矩阵:

DataL : [ [1,2], [2,4], [3,6], [4,8] ];
DataM: apply('matrix,DataL);
Run Code Online (Sandbox Code Playgroud)

怎么用其他方式呢?如何将给定矩阵DataM转换为DataL列表?

symbolic-math computer-algebra-systems maxima

9
推荐指数
2
解决办法
5932
查看次数

如何使用Maxima查找函数的最大值和最小值?

我试图找到一种方法来获得使用Maxima(wxMaxima)的函数的最大值和最小值,但直到现在我还没有找到如何做到这一点.

你能告诉我你会怎么做?

例如,假设我有以下代码:

f(x) := (3*x)/(x^2 - 2*x + 4);
Run Code Online (Sandbox Code Playgroud)

然后我在-10,10范围内绘制此函数,并获得:

在此输入图像描述

我知道最大值是3/2,最小值应该是-1/2.

maxima

8
推荐指数
1
解决办法
7422
查看次数

将变量声明为最大值中的正实数?

我有以下最大值代码:

declare(p, real)$
declare(q, real)$
declare(m, real)$
is(-(4*p^2*q^2)/m^2-(4*p^4)/m^2  < 0);
Run Code Online (Sandbox Code Playgroud)

这评估为未知。我可以声明p,qm实数?

maxima

8
推荐指数
1
解决办法
3612
查看次数

SBCL错误:在Linux机器上运行Maxima时"绑定堆栈耗尽"

我知道有很多地方可以问这个问题,但我想我会在这里试试.我已经看起来已经从Maxima的好人那里得到了尽可能多的帮助.

我用SBCL运行Maxima并且一直出错;

INFO: Binding stack guard page unprotected
Binding stack guard page temporarily disabled: proceed with caution

Maxima encountered a Lisp error:

 Binding stack exhausted.

PROCEED WITH CAUTION.

Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
INFO: Binding stack guard page reprotected
Run Code Online (Sandbox Code Playgroud)

我已经通过为动态空间大小控制堆栈大小添加更大的值来修改对Maxima(其可执行文件)的调用,并且我已经查看了./.../sbcl-help以获取要添加到$的参数的任何想法maxima可执行文件中的MAXIMA_LISP_OPTIONS.

另外,我通常在运行它之前做这些(虽然我认为它们是不必要的,因为操作系统很聪明,也许最后一个需要摆弄);

sudo fstrim -v /
echo 3 | sudo tee /proc/sys/vm/drop_caches
echo 262144 | sudo tee /proc/sys/vm/max_map_count
Run Code Online (Sandbox Code Playgroud)

在完成Maxima工作的几次计算之后,我投入了几个

:lisp (sb-ext:gc :full t)
Run Code Online (Sandbox Code Playgroud)

希望避免这个错误.我不太了解lisp,当然也不了解垃圾收集的所有内容.

虽然我在Maxima工作中使用了memoization,但我的计算有点密集和递归.我的电脑用 …

lisp linux sbcl common-lisp maxima

6
推荐指数
1
解决办法
315
查看次数

最大值的任意大小矩阵

我想用任意大小的矩阵进行一些计算.简单的例子 - 使用两个矩阵NxM和MxK,使用任意元素,并将产品元素视为总和.

但我无法找到一种方法来进行这种符号计算,而无需将矩阵大小指定为整数.

matrix()想要整数,makelist()想要整数.

有没有办法在maxima中做这样的事情?还是CAS?

matrix computer-algebra-systems maxima

5
推荐指数
1
解决办法
282
查看次数

Maxima:如何用符号替换常见的子表达式

假设我有一个表达式(实际上我的更复杂,成千上万的字符)

expr:a+b*c+b*c*d;
Run Code Online (Sandbox Code Playgroud)

我想用符号替换内部子表达式(有助于避免重新计算公共子表达式),k代替b*c:

subst(b*c=k,expr);
Run Code Online (Sandbox Code Playgroud)

回报

k+b*c*d+a
Run Code Online (Sandbox Code Playgroud)

如何让Maxima计算出"正确"的替代以便返回(除了obviuos简化,这里)

k+k*d+a
Run Code Online (Sandbox Code Playgroud)

expression replace symbols maxima

5
推荐指数
1
解决办法
4251
查看次数

使用 Maxima 的 For 循环

for i:1 thru 3 step 1 do;
posix:arithsum(li*cos(ri(t))),1,i-1)+(li*cos(ri(t))/2);
posiy:arithsum(li*sin(ri(t))),1,i-1)+(li*sin(ri(t))/2);
Run Code Online (Sandbox Code Playgroud)

我想要做的是获得 6 个位置函数(3 x 和 3 y)。它应该给我如下值:

pos1x:l1*cos(r1(t))/2;
pos2x:l1*cos(r1(t))+l2*cos(r2(t))/2;
pos3x:l1*cos(r1(t))+l2*cos(r2(t))+l3*cos(r3(t))/2;
Run Code Online (Sandbox Code Playgroud)

那么,为什么我的代码不起作用?

loops for-loop maxima

5
推荐指数
1
解决办法
5282
查看次数