问题标签 [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.
matlab - Pretty MuPad:在一行中输出赋值、表达式和结果 - 如何创建该函数?
我试图让 Matlabs 的 MuPad 像 MathCad 一样漂亮和方便。
假设两个变量赋值:
我想要一个漂亮的(用Tex排版)输出,比如
我已经设法通过使用来做到这一点output::mathText(...)
:
看起来如所愿:
但这不是很方便且不可读。所以我试图把它包装成一个宏或一个函数:
我怎样才能做到这一点?
我尝试了什么:
我写了一个程序如下:
但我只是得到
我错过了什么?
关于horchler 的回答:他的第一个解决方案在某种程度上不起作用,而第二个解决方案则:
程序:
称呼:
输出:
matlab - 定义自定义 Mupad 程序的一般相对搜索路径
想象一下,我在路径上有一个 mupad-notebook myMupadNotebook.mn'C:\projectFolder\ABC\abc\'
。它调用位于的过程MyMupadProcedure.mu'C:\DEF\GHI\'
。
现在我有一个 Matlab 脚本main.m ,'C:\projectFolder\XYZ\xyz\'
内容如下:
因此它初始化一个符号引擎并执行 Mupad 脚本。但是 Mupad 脚本需要知道在哪里可以找到该过程。所以我可以在 Mupad Notebook 中使用File->Properties->Start-up commands定义一些启动命令(或启动脚本),如下所示:
但是现在我在不同的机器上工作,绝对文件夹路径不同,但相对路径是一样的。如何在所有机器上使用我的脚本?
在 Matlab 中,我只需在每台机器上设置SearchPath,它就可以工作,Mupad 有没有等价的东西?
或者,如果我可以将一个字符串从 Matlab 传递到 Mupad,并且我只需在笔记本的标题中编写启动命令并使用 Matlab 函数确定相对路径,那已经很有帮助了。但是以下行的所有组合都不起作用:
matlab - Maple 搞砸了我的 MuPAD Matlab 集成
我最近安装了 Maple 的试用版,它已经过期并且我已经卸载了它。但今天,令我惊讶的是,Matlab 符号工具不再正常工作,我使用谷歌发现 Maple 自己更改了符号工具(没有警告左右)。但卸载后不会撤消。
问题是,我怎样才能让 Matlab 再次“找到”MuPAD?
错误例如:
matlab - MATLAB:关于x(t)的符号微分f?
我有一个函数f(x(t))=sin(x(t))
,我想在 MATLAB 中区分有时相对于t
,有时相对于x(t)
。在 MATLAB 中,我输入:
但是,当我区分时,x(t)
我得到:
一种解决方法是:
然而,对于我在代码中实际处理的大型函数subs
来说,速度非常慢——这是我代码中的瓶颈。当然有办法直接做diff(f,x)
?!我的意思是 MathWorks 的开发人员不能就这么悬着这么大的尾巴,对吧?
我真的很感谢你的帮助。谢谢!
matlab - 用符号函数除以零
如果我想在 Matlab 中绘制 y=1/x 的图,可以使用以下代码:
但我想使用符号函数来区分它们,所以我有这个代码:
不幸的是,我在这里遇到了一个错误
MuPAD 命令错误:除以零。[_力量]
这是合理的,因为在某些时候它会尝试将 1 除以 0。我怎样才能使它工作,以便Inf
在除以零时返回,就像在表格的常规计算中一样a=6/0;
?
matlab - 如何在matlab中实现多项式长除法
我正在寻找一种在 Matlab中实现多项式长除法的方法。我的预期结果,例如
哪里x^3-2x^2-4
是被除数,x-3
是除数
我们能否有任何方法或 matlab 工具来显示所有过程,例如上面的示例。谢谢
matlab - 打印 syms / matlabFunction 慢
我在尝试使符号替换更快时遇到了很多麻烦 - 也就是说,替换符号表达式中的变量并获得双精度。
我正在创建一个复杂的函数 f,并计算它的雅可比 df。这以合理的速度进行,我可以将其保存到文件中。但是当我尝试使用 matlabFunction 甚至 disp 或 fprintf 时,系统会挂起并且无法继续进行(即使 matlabFunction 设置为未优化)。这是一个主要问题,因为我需要能够进行相当快速的替换。
f 向量是 24 个元素,Jacobian 是 24 x 78(虽然这里只有 70 个变量,所以可以压缩到 70 列;不过我怀疑这是问题所在)。
我也知道 f 和 df 的某些元素在单独访问时很简单并且工作正常,但是 f 和 df 的某些更复杂的元素无法显示。我想它们很长,但是由于它们计算得很好,所以对我来说它们不能转换成 matlabFunction 或显示是没有意义的。
更奇怪的是,我可以用 in 替换我所有的符号变量,但是完全替换的 f 向量的最终显示(例如,通过 disp)或转换为 double(通过 double( ))似乎需要很长时间。
如果你想玩弄 .mat 文件,你可以在这里得到它(filedropper 链接,它是 288kb)。我该怎么做才能在合理的时间内写出这个文件?
matlab - 从 MuPAD 提取多项式到 Matlab
我在 MuPAD 中有 poly(一个变量,几个参数)。我想以某种方式将它提取到 Matlab 中。
MuPAD 中的 poly 示例:
我想在 Matlab 中得到它:
有什么方便的方法吗?PS Matlab R2015a
ode - dsolve 在尝试求解 ODE 系统时抛出错误
其中 A 是一些 10x10 矩阵,X_0 是一个包含 10 个元素的列向量,其值是预先计算的。当我编译这段代码时,Matlab 会抛出以下错误:
使用 mupadengine/feval 时出错(第 157 行) MuPAD 错误:错误:无效的方程。[颂歌::新]
dsolve>mupadDsolve 中的错误(第 325 行)T = feval(symengine,'symobj::dsolve',sys,x,options);
dsolve 中的错误(第 186 行) sol = mupadDsolve(args, options);
谁能告诉我发生了什么以及整改是什么?我使用 Matlab R2012a。