MuPAD: 如何确定一组线性不等式的解的仅仅存在?
使用mupad,我想找出一组线性不等式的至少一个解决方案.例如,以下线性不等式系统: 我在mupad中解决的: solve({x+z>2*y,z>y,2*z>2*x,x>0,y>0,z>0},{x,y,z} 和mupad在某种类型的符号中返回解决方案集: 但是,我不在乎解决方案集的确切形式,即是有限的还是无限的,我只是在乎至少有一个可行的解决方案. 我想打电话给Matlab的Mupad,询问是否存在解决方案集合到不等式中,然后再获得"是"或"否"答案.我可以测试返回的空集,但我不知道如何测试符号变量是否代表空集. 解决方案 这是一个使用Mupad的 sym/isempty syms x y z; ~isempty(feval(symengine,'solve',[x+z>2*y,z>y,2*z>2*x,x>0,y>0,z>0],[x y z])) ~isempty(feval(symengine,'solve',[x+z>2*y,z>y,2*z>2*x
18 2023-10-12
编程技术问答社区
Matlab:支持非素数的线性全等式求解器?
我正在处理一些MATLAB代码,以执行对给定密码系统上的索引微积分攻击(这涉及计算离散日志值),除了一件小事情,我已经完成了所有操作.我无法(在MATLAB中)如何求解一致性mod p的线性系统,其中p是不是 prime.同样,该系统具有多个变量,因此,除非我缺少某些内容,否则中文定理将无法使用. I asked a question on the mathematics stackexchange with more detail/formatted mathjax 在这里).我还尝试逐步修改它以与非primes一起使用,但是无论使用什么方法都无法使用,因为它需要系统的所有元素都具有倒置Modulo p. . 我研究了使用MATLAB中的功能来调用Mupad函数,但是根据我的测试,Mupad函数linsolve(似乎是最好的候选人)也不支持非PRIME模量值值.此外,我已经使用Maple进行了验证,该系统是可以解决的模型,我的整数感兴趣(8),因此可以完成. 要更具体,
12 2023-10-12
编程技术问答社区
在Matlab中使用Pochhammer符号
我已经尝试使用一个评估 pochhammer符号(升起的猫)中的脚本MATLAB,但是每当x是负数时,即使表达式在x为负时有效时,它都无法评估pochhammer(x,n)(Wolfram alpha和Mathematica为Pochhammer(-3,2)提供答案). ). 谁能帮助我获得pochhammer在MATLAB上工作的负面论点? 解决方案 我假设您是指 Symbolic Math Toolbox .您可以通过在matlab命令窗口中键入mupad来访问mupad. 但是,如果像普通的MATLAB用户一样,您希望使用MATLAB本身的pochhammer函数并使用它进行编程,则无法正常的命令窗口或编辑器以正常方式运行它.相反,您必须使用 evalin(symengine,'pochhammer(-3,2)') 或更灵活的 feval(symengine,'pochhammer',-3,2) 参见在这里更多.这些都返回符号数为结果,并且
154 2023-10-12
编程技术问答社区
mtaylor MuPAD-Matlab
我试图从MATLAB的Mupad Engine运行函数mtaylor,该函数提供了函数的多元泰勒扩展.但是,它一直告诉我我正在尝试扩展无效的观点.这是我尝试过的最小工作示例: syms x y; feval(symengine,'mtaylor',exp(x^2 - y), [x, y], 4) Error message: vError using mupadengine/feval (line 157) MuPAD error: Error: Invalid expansion point. [mtaylor] 为什么不起作用? 解决方案 此原因与Mupad的syms x y; feval(symengine,'mtaylor',exp(x^2 - y), x, 4) % [x] is fine too 这不是 syms x y; feval(symengine,'mtaylor',exp(x^2 - y), [x, y], 4) 是,[x,
40 2023-10-12
编程技术问答社区
打印syms/matlabFunction缓慢
我遇到了很多麻烦,试图使象征性替代的速度更快 - 也就是说,在符号表达中代替变量并获得了双重. 我正在创建复杂的功能f,并计算其Jacobian DF.这是一个合理的速度,我可以将其保存到文件中.但是,当我尝试使用Matlabfunction甚至DISP或FPRINTF时,系统就会悬挂并且无法进一步进行(即使将MatlabFunction设置为未取代时).这是一个主要问题,因为我需要能够进行合理的快速替换. f向量是24个元素,雅各布是24 x 78(尽管只有70个变量在这里显示,因此可以将其压缩到70列;我怀疑这是问题). 我还知道,在单独访问时,F和DF的某些元素很简单,可以正常工作,但是无法显示F和DF的某些更复杂的元素.我想它们很长,但是由于计算得很好,所以对我来说,它们不能转变为Matlabfunction或显示. 更奇怪,我可以代替所有符号变量,但是最后显示了完全替代的f向量(例如,通过disp),或者转换为double(通过double())似乎是永
46 2023-10-12
编程技术问答社区
Matlab中顶部和底部被填充的圆柱体
我正在尝试创建一个"固体"圆柱体,其顶部和底部填充.我知道有一个函数气缸(r)创建一个功能,尽管它没有顶部和底部圆来"关闭它". 我做了一些研究,似乎找不到可以做到这一点的功能.我发现了这一点: Symbolic/mupad_ref/plot-cylinder.html 尽管它是mupad代码,但我不知道如何从matlab(来自我的.m文件)调用该函数.再次,我做了一些研究,这就是我发现的,尽管似乎不起作用: http://www.mathworks.com/help/help/symbolic/create-matlab-functions-from-mupad-expressions.html .这是可能的,如果是这样?如果没有,我该如何制作MATLAB中的"固体"气缸? 谢谢 解决方案 假设一个与z轴对齐的气缸,radii R沿着XY平面上方的单位高度线性间隔(与内置的cylinder相同的假设): function [x,y,z] = solidCyli
30 2023-03-21
编程技术问答社区
定义自定义Mupad程序的一般相对搜索路径
想象我有一个Mupad-Notebook myMupadNotebook.mn 在路径'C:\projectFolder\ABC\abc\'上.它称为 mymupadProcedure.mu ,位于'C:\DEF\GHI\'> 现在,我有一个matlab脚本 main.m at 'C:\projectFolder\XYZ\xyz\',内容: nb = mupad('C:\projectFolder\ABC\abc\myMupadNotebook.mn'); status = evaluateMuPADNotebook(nb); 因此,它初始化了符号引擎并执行mupad脚本.但是Mupad脚本需要知道在哪里找到该过程.因此,我可以使用 file-> properties->启动命令在Mupad笔记本中定义一些启动命令(或启动脚本),例如: READPATH := "C:\DEF\GHI\"; read("MyMupadProcedure.mu"); ,但是现在我在
24 2023-03-20
编程技术问答社区
使用mupadmex时出错,sym/symsum中出错(评估一个定积分)。
我正在尝试使用以下代码评估定积分: m=4; t=4; n=5; P=10; reset(symengine) syms x; syms k; mean=int(log(1+P*x/t)*symsum( factorial(k)*x^(n-m)*exp(-x)/factorial(k+n-m)*feval(symengine,'laguerreL',n-m,k,x)*feval(symengine,'laguerreL',n-m,k,x),k,[0,m-1]) ,x,0,inf) 但它给出了以下错误: Error using mupadmex Error in MuPAD command: The number of arguments is incorrect. [has] Evaluating: sum Error in sym/symsum (line 114) rSym = mupadmex('symobj::map',fsym.s,'symobj
1752 2022-07-27
编程技术问答社区