我试图用Octave解决以下两个方程:
eqn1 = (wp/Cwc)^(2*N) - (1/10^(0.1*Ap))-1 == 0;
eqn2 = (ws/Cwc)^(2*N) - (1/10^(0.1*As))-1 == 0;
我使用了以下代码:
syms Cwc N
eqn1 = (wp/Cwc)^(2*N) - (1/10^(0.1*Ap))-1 == 0;
eqn2 = (ws/Cwc)^(2*N) - (1/10^(0.1*As))-1 == 0;
sol = solve(eqn1 ,eqn2, Cwc, N)
ws
,wp
,As
和Ap
的定义为1.5708
,0.31416
,0.5
,{{ 1}}分别。
但是我收到以下错误:
错误:Python异常:NotImplementedError:无法解决
45
发生在Python代码块的第7行:
126491*(pi*(3*10**N*sqrt(314311)*pi**(-N)/1223)**(1/N)/2)**(2*N) - 126495
我该怎么做才能解决这个问题?
修改
我稍微修改了方程式。
d = sp.solve(eqs, *symbols, dict=True)
现在我收到了这个错误:
错误:Python异常:AttributeError:
pkg load symbolic clear all syms Cwc N wp = 0.31416 ws = 1.5708 As = 45 Ap = 0.5 eqn2 = N - log10(((1/(10^(0.05*As)))^2)-1)/2*log10(ws/Cwc) == 0; eqn1 = N - log10(((1/(10^(0.05*Ap)))^2)-1)/2*log10(wp/Cwc) == 0; sol = solve(eqn1,eqn2,Cwc,N)
没有属性MutableDenseMatrix
。
发生在Python代码块的第3行:
is_Relational
答案 0 :(得分:1)
观察方程,在同一项的基础和指数中未知数,强烈暗示没有找到符号解。我给一些符号解算器提供了一个简化的系统(2/x)^y = 4, (3/x)^y = 5
,它们都没有得到任何东西。因此,解决这个问题的唯一方法是数字化(这是有道理的,因为您拥有的四个已知参数无论如何都是一些浮点数)。 Octave用于此目的的数值解算器是fsolve
。用法示例:
function y = f(x)
Cwc = x(1);
N = x(2);
ws = 1.5708;
wp = 0.31416;
As = 0.5;
Ap = 45;
y = [(wp/Cwc)^(2*N) - (1/10^(0.1*Ap))-1; (ws/Cwc)^(2*N) - (1/10^(0.1*As))-1];
endfunction
fsolve(@f, [1; 1])
(这里,[1; 1]是初始猜测。)输出
0.31413
0.19796