问题标签 [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 投票
0 回答
1235 浏览

matlab - MuPAD 命令错误:需要算术表达式。[exp]

我想写下给出的表达式:

在此处输入图像描述

在此calculate_dkcalculate_T是具有输入参数的函数iijj。我想最大化这个方程关于theeta变量。但是,我无法为此目的形成所需的表达方式。我尝试使用symsum功能

但它给出了错误

使用 mupadmex 时出错 MuPAD 命令中的错误:需要算术表达式。[exp] sym/privUnaryOp 中的错误(第 845 行)
Csym = mupadmex(op,args{1}.s,varargin{:});

sym/exp 中的错误(第 6 行)
Y = privUnaryOp(X, 'symobj::map', 'exp');

Acuna_model_funct 中的错误(第 24 行)
F = symsum(symsum(nchoosek(15,ii-1) * nchoosek(15,jj-1) * exp(theeta * calculate_dk(ii-1,jj-1)+ sigmaa * calculate_T( ii-1,jj-1)), jj, 1, 16),ii,1,16);

请帮助我形成一个方程,以便我可以优化它(相对于 theeta 最大化它)。

0 投票
0 回答
335 浏览

matlab - Matlab 2012b 在 mupadmex(语句)上求解两个方程组时速度太慢

我正在尝试在 for 循环中求解 Matlab 中的两个非线性方程组。我知道 for 循环可能会导致程序运行缓慢,但现在解决一个实例大约需要一个小时。在调试代码时,我意识到这一行会导致程序挂起:

如果我终止程序,我会得到以下信息:

其中第 97 行指的是同一行代码。这是我调用求解函数的代码部分:

0 投票
0 回答
230 浏览

matlab - MuPAD:块矩阵

我正在使用齐次坐标,并且喜欢在 muPad 中进行一些符号计算。假设我的变换矩阵T是 4x4,其中左上角是一个名为R的 3x3 旋转矩阵,右上角是一个名为b的 3x1 向量,右下角是1

所以它会是这样的:

用普通的 Matlab 表示法。

现在,我希望 muPad 使用符号Rb,而不是扩展它们并使用元素。

所以,如果

T 和 T2 的乘积应显示为

我是新来的,所以请原谅格式不好..(有没有办法包括乳胶?)

0 投票
1 回答
53 浏览

mupad - 为什么 Mupad 在这里替换了我的 E(s)?

我有代码:

为什么 Mupad 给出输出 e(s)?穆帕德输出:

G(s)*exp(1)(s)(或用蓝色写成 G(s)*e(s))

我怎样才能让我的 E(s) 不会被 Mupad 自动更改……老实说,这是迟钝的……奖励 :(

....Wtf

E(s):=R(s)-B(s) 错误:标识符“E”受到保护。[_分配]

0 投票
1 回答
168 浏览

matlab - 在 Matlab MuPAD 中使用更“自然”的形式来操作分段步进函数?

我有单位阶跃函数:

现在我想在某个时候绘制它:

这行得通。但是当我使用更自然的表达方式时:

它只是绘制了原始的未移位阶跃函数。

在绘制修改后的阶跃函数时,有什么方法可以使用更简单的形式?

0 投票
0 回答
107 浏览

matlab - 为什么 MuPAD 不在不连续处画虚线?

我有初始绘图,我需要使用阶跃函数的总和进行绘制:

初始图

解决方案:

我们有 3 行 L1、L2 和 L3 L1:

y-y1=(y2-y1)/(x2-x1)(x-x1) y-1=(3-1)/(1-0)(x-0)

图二

接着 :

第2步

第 3 步

最后的情节:

最后

我想知道为什么 MuPAD 没有在点 (2,3) 和 (2,1) 之间显示渐近线......这是一个错误吗?

0 投票
1 回答
70 浏览

matlab - 这是 MuPAD 中的错误吗?

我有u0作为阶跃函数(分段定义):

现在我计算:

这使

在一本教科书中,我找到了答案:

这是 MuPAD 中的错误吗?

0 投票
0 回答
663 浏览

convolution - 如何让 MuPAD 为我做一些积分(涉及重载和狄拉克函数)?

我的目标是使用 MuPAD 计算函数 rho(eta) 的 n 倍自卷积,其中 eta > 0。(背景是由许多相同子系统组成的系统的能量密度。)我试图从一个简单的案例开始,但我已经陷入困境:

对于 eta > 0,我将 rho(eta) 定义为恒定为 1,因此它是一个 Heaviside 函数:

我使用双积分和 Dirac delta 函数实现了 2 倍自卷积:

结果

因此 MuPAD 甚至无法简化对 delta 函数的积分并获得正常的卷积表达式;不知道这里的限制是怎么回事。

如果我直接用自身输入函数的正常卷积表达式

我明白了

再次有一个限制(可以简化为 0,或者不能吗?)。第二项实际上接近正确答案,heaviside只是解释了energy可能是否定的可能性。好的,所以我告诉 MuPAD 这energy是肯定的:

现在 MuPAD 只是给了我原来不变的积分:

好吧,也许使用heaviside是问题所在,而且无论如何都不是绝对必要的,因为我通过积分限制实现了 eta > 0 的约束。所以我重新定义

并将公式与 delta 函数一起使用,再加上energy积极的信息:

你猜怎么着?现在 MuPAD自己返回一个重载:

这是正确的——但它为什么不评估这个积分呢?这并不难,不是吗?

所以请任何人告诉我:为什么会发生这一切?我怎样才能让它发挥作用?

0 投票
1 回答
32 浏览

mathematical-expressions - 为什么狄拉克函数的采样特性给出了这个?

在 MuPAD 中,我简化了:

这使 :

我知道

所以f(t)=2*tdirac(t+1)=dirac(t-(-1))所以这意味着k=-1 So2 * t * dirac(t+1) =2*(-1)*dirac(t) =-2*dirac(t)与 MuPAD 返回的不同,-2*dirac(t + 1)

我的错误在哪里?

0 投票
1 回答
68 浏览

matlab - 在 mupad 中使用 numeric::fsolve 中的受限搜索

我在 mupad 中使用 numeric::fsolve 来求解 x1 x2 m1 和 m2。使用的命令是:

Scase2:=numeric::fsolve([m1,g2,eqn1,eqn2],m1=0,m2=0..infinity,x1=-3.14..3.14,x2=-3.14..3.14],RestrictedSearch,MultiSolutions)

返回的答案是:

[m1 = 0.0, m2 = -8.678897929, x1 = 3.38742203*10^(-17), x2 = 2.77006362], [m1 = 0.0, m2 = 19705.59085, x1 = -1486.62367, x2 = 157.7356704], [m1 = 0.0, m2 = -6151.321562, x1 = -6.594711892*10^(-18), x2 = 78.32275445], [m1 = 0.0, m2 = -2334.614422, x1 = -1.047226205*10^(-13), x2 = -48.81668048], [m1 = 0.0, m2 = 38.00363756, x1 = -70.90099452, x2 = 11.28424375], [m1 = 0.0, m2 = -3017.254857, x1 = -5.285351078*10^(-17), x2 = 55.38965896], [m1 = 0.0, m2 = -14353.49312, x1 = -3.299575199*10^(-16), x2 = 119.665553], [m1 = 0.0, m2 = 4746.862416, x1 = 216.8709045, x2 = 69.03215292], [m1 = 0.0, m2 = -337.6953647, x1 = 4.231726504*10^(-19), x2 = 18.53286231], [m1 = 0.0, m2 = 59888.45924, x1 = 769.621396, x2 = -244.978099], [m1 = 0.0, m2 = -754.4068652, x1 = 7.46136118*10^(-19), x2 = 26.99119714], [m1 = 0.0, m2 = -72400.20717, x1 = -1.43883627*10^(-12), x2 = -269.417393], [m1 = 0.0, m2 = -2953.978962, x1 = -3.936403445*10^(-22), x2 = -54.84860971], [m1 = 0.0, m2 = -0.6449920855, x1 = -2.627245131*10^(-15), x2 = -0.5757632436], [m1 = 0.0, m2 = -1646.776257, x1 = 3.55576955*10^(-15), x2 = -40.34209161], [m1 = 0.0, m2 = -52.36064061, x1 = -5.846045816*10^(-13), x2 = -6.937973456], [m1 = 0.0, m2 = 31302.17624, x1 = 707.7689947, x2 = 225.2898681], [m1 = 0.0, m2 = -6184.407888, x1 = 400.9347135, x2 = 127.621483], [m1 = 0.0, m2 = -30523.06702, x1 = 6.438047089*10^(-17), x2 = -175.083226], [m1 = 0.0, m2 = -212.5775725, x1 = 8.213227391*10^(-19), x2 = -14.08916721]

但是求解器返回的答案包括指定范围之外的解决方案。好吧,手动可以找到可接受的解决方案,有没有更好的方法来做到这一点?为什么求解器返回可接受范围之外的解决方案?