问题标签 [mupad]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
594 浏览

matlab - MATLAB 递归方程中的语法错误

我在这里查找了如何声明递归方程。

我从该页面尝试了以下示例:

然后我注意到我没有Symbolic Math Toolbox安装。安装后

返回(除其他外):

但我仍然收到上述错误。

我可以将命令缩小到以下内容,并给出与上述相同的错误:

在 wiki 和其他 google 结果中,只有在===.

0 投票
0 回答
520 浏览

matlab - 将求和从 MuPAD 转换为 Matlab 函数

我正在尝试通过 MuPAD 将以下总和转换为 Matlab 函数:

                                双和方程

这是我到目前为止所做的......

  1. 在 Matlab 中,输入notebook_handle = mupad;

  2. 在 MuPAD 中,我将上述等式表述为:C = sum(sum(((Xkit)*#P1k), #k=#1..#D), #i=#1..#t-1) 注意:我将总和等同于变量 C

  3. 在 MuPAD 中将上述表达式等同起来

  4. 在 Matlab 命令窗口中输入:C = getVar(notebook_handle,'C')

我密切关注文档(从 MuPAD 表达式创建 MATLAB 函数)。我能够轻松地制定给出的示例,但不是我要解决的示例。

我的猜测是第 2 步有问题?

0 投票
1 回答
1603 浏览

arrays - “MuPAD 命令出错:DOUBLE 无法将输入表达式转换为双精度数组”

我试图找到这个简单的 for 循环问题的答案,但我找不到任何关于它的教程。我正在尝试计算列向量的特定条目,但错误“MuPAD 命令中的错误:DOUBLE 无法将输入表达式转换为双精度数组”不断出现。我很确定 for 循环中的两个条目都应该作为 u1,...,u20 的标量函数出现,但我一定做错了什么。我的脚本如下:

任何帮助将不胜感激。

0 投票
2 回答
8551 浏览

matlab - matlab中填充顶部和底部的圆柱体

我正在尝试创建一个顶部和底部填充的“实心”圆柱体。我知道有一个函数 cylinder(r) 可以创建一个,尽管它没有顶部和底部的圆圈来“关闭它”。

我做了一些研究,似乎找不到能做到这一点的功能。我发现了这个: http: //www.mathworks.com/help/symbolic/mupad_ref/plot-cylinder.html虽然它是 mupad 代码,但我不知道如何从 matlab 调用该函数(从我的 .m文件)。再一次,我做了一些研究,这就是我发现的,虽然它似乎不起作用: http: //www.mathworks.com/help/symbolic/create-matlab-functions-from-mupad-expressions。 .html _ 这可能吗,如果可以,怎么办?如果没有,我怎样才能在matlab中制作我的“实心”圆柱体?

谢谢

0 投票
1 回答
1283 浏览

matlab - Matlab:支持非素数模数的线性同余求解器?

我正在编写一些 Matlab 代码来对给定的密码系统执行称为索引演算攻击的东西(这涉及计算离散的对数值),除了一件小事之外,我已经完成了所有工作。我不知道(在 Matlab 中)如何解决同余 mod p 的线性系统,其中 p不是素数。另外,这个系统有不止一个变量,所以,除非我遗漏了什么,否则中国剩余定理是行不通的。

我在这里问了一个关于数学 stackexchange 的问题,其中包含更多详细信息/格式化的mathjax。我在那个链接的问题中解决了这个问题,现在我正在尝试找到一个实用程序,它可以让我解决以非素数为模的同余系统。我确实找到了一个包含支持模运算的求解器的套件,但模数必须是素数(此处)。我还尝试逐步修改它以使用非素数,但无论使用哪种方法都不起作用,因为它要求系统的所有元素都具有逆模 p。

我已经研究过使用 Matlab 中调用 MuPAD 函数的能力,但从我的测试来看,MuPAD 函数linsolve(这似乎是最好的候选者)也不支持非素数模值。此外,我已经用 Maple 验证了这个系统是可解的,以我感兴趣的整数 (8) 为模,所以它可以完成。

更具体地说,这是我试图在 MuPAD 中运行的确切命令:

如果我将域更改为 IntegerMod(23) 和 IntegerMod(59407),相同的命令会返回正确的值,所以我认为 8 不合适,因为它不是素数。这是我尝试上述命令时的输出,其中每个 23 和 59407 作为我的域:

这些答案是正确x的 - , y, z, 并且q对应于L1, L2, L3, 并且L4在位于我上面的 Math.StackExchange 链接的同余系统中。

0 投票
2 回答
1238 浏览

matlab - Matlab表函数

我尝试运行MuPADtable文档中所示的示例:

这样做会给我以下错误:

Undefined function 'T' for input arguments of type 'char'.

我不知道发生了什么。有谁知道它为什么不起作用以及如何使用此功能创建表格?

0 投票
1 回答
546 浏览

symbolic-math - 如何在 MuPAD 或 Maple 中提取方程的特定部分

我有 MuPAD 和 Maple,我想用这些软件之一做以下事情:

  • 我有一个方程,其中包含几个具有不同幅度和不同参数的余弦,如下图第一行(蓝色)所示。
  • 我只想提取那些至少包含参数“+a t-b t”的余弦(所以“+a t-b t+alpha”也可以)-见第二个(蓝色行)。
  • 我想显示这个特定余弦的振幅总和 - 见第三行(红色)。

第二张图片显示了一个真实的例子。 例子 示例 2

0 投票
1 回答
1057 浏览

matlab - 使用 MuPAD 查找非线性方程组的所有解

我的问题是是否有在 Matlab 脚本中使用 MuPAD 函数的好方法。背景是我有一个问题,我需要找到一组非线性方程的所有解。以前的解决方案是solve在 Matlab 中使用,它适用于我的一些模拟(即一些输入集T),但并非总是如此。因此,我通过以下方式使用 MuPAD:

我有两个疑问:

1)为了使用 MuPAD,我需要将方程系统的两个方程重写为字符串,如上所示。有没有更好的方法来做到这一点,最好没有字符串步骤?

2)关于格式输出;什么时候

输出是:

MuPAD 可以将解决方案作为一组向量或类似方式给出吗?为了使用上面的答案,我需要从那组解决方案中整理出解决方案。有没有聪明的方法来做到这一点?到目前为止,我的解决方案是找到我知道将出现在解决方案中的迹象,例如'([['并选择下面的数字,这真的很难看,如果由于某种原因解决方案看起来与我所涵盖的情况有点不同它不起作用。

编辑

当我使用@horchler 在下面的答案中建议的解决方案时,我得到的解决方案与我之前的实现相同。但是对于某些情况(不是全部),它需要更长的时间。例如。对于下面的 T,下面建议的解决方案需要一分钟以上,而使用 evalin(我以前的实现)需要一秒钟。

新功能:

是否有充分的理由说明为什么需要这么长时间?

0 投票
1 回答
324 浏览

matlab - matlab(或mupad)可以评估包含非对易运算符的符号表达式吗?

假设我给 matlab(或 mupad)提供了 AB+AB+BA 之类的东西,并要求它简化它。答案应该是:2AB+BA。这可以在matlab或mupad中完成吗?

编辑:

好吧,这感觉很荒谬。我正在尝试在 matlab 或 mulab 中执行此操作,并且.. 不知道如何做应该是最简单的事情,并且无法立即通过谷歌找到答案,这令人沮丧。

我想将以下相乘的内容扩展为泰勒级数:

g 是 gamma,l 是 lambda(不知道如何在 matlab 或 mulab 中表示这些)。A和B不通勤。我想将三个指数相乘,展开,选择 lambda 中给定幂的所有项,并简化结果。有没有一种简单的方法可以做到这一点?还是我应该放弃并去另一个系统,比如枫树?

0 投票
2 回答
225 浏览

matlab - Mupad 将布尔值转换为整数

我举一个简单的例子说明我想在 Matlabs MuPad 中做什么

应该是:“S_1^2 + S_2”但是我得到:Error: The first argument must be of type 'Type::Arithmetical'. [sum]

我理解错误,我只是不知道如何成功。建议表示赞赏。我正在寻找某种指标功能。