迭代matlab符号求解函数

发布于 2025-01-19 07:03:27 字数 704 浏览 0 评论 0原文

我正在尝试求解数组 d 的以下方程。我使用了下面的代码片段:

channel_size = 9e-3;
d = [11e-3, 12e-3]; 
sigma = 0.49;
ee = 727/9806.65; 
alpha = d-channel_size;
sym('p',[1 2])

for i = 1:2
    eqn = alpha == (4.3^(1/7))*(p^(3/11))*(((1-(sigma^2))/ee)^(7/5))/(d.^(1/6))
    S = solve(eqn, p)*0.015;
    vpa(S/13e-12)
end

事实上,我应该得到与 d(1)d(2) 相对应的两个数字,但它不起作用并且出现此错误:

Error using mupadmex
Error in MuPAD command: Operands are invalid. [linalg::matlinsolve]
Error in sym/privBinaryOp (line 1693)
            Csym = mupadmex(op,args{1}.s, args{2}.s, varargin{:});
Error in sym/mrdivide (line 232)
        X = privBinaryOp(A, B, 'symobj::mrdivide');

I am trying to solve the equation below for array d. I have used the snippet below:

channel_size = 9e-3;
d = [11e-3, 12e-3]; 
sigma = 0.49;
ee = 727/9806.65; 
alpha = d-channel_size;
sym('p',[1 2])

for i = 1:2
    eqn = alpha == (4.3^(1/7))*(p^(3/11))*(((1-(sigma^2))/ee)^(7/5))/(d.^(1/6))
    S = solve(eqn, p)*0.015;
    vpa(S/13e-12)
end

In fact, I should get two number corresponding to d(1) and d(2), but it does not work and this error appears:

Error using mupadmex
Error in MuPAD command: Operands are invalid. [linalg::matlinsolve]
Error in sym/privBinaryOp (line 1693)
            Csym = mupadmex(op,args{1}.s, args{2}.s, varargin{:});
Error in sym/mrdivide (line 232)
        X = privBinaryOp(A, B, 'symobj::mrdivide');

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仙气飘飘 2025-01-26 07:03:27

声明 (d.^(1/6)) 是错误的,应该使用 (d(i)^(1/6))。另外,由于 alpha = d-channel_size,在等式中,我还应该声明 alpha(i) 而不是简单的 alpha。

Declaring (d.^(1/6)) is wrong and instead (d(i)^(1/6)) should be used. In addition, as alpha = d-channel_size, in the equation, I should also declare alpha(i) instead of simple alpha.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文