Matlab vpasolve返回空的syms变量

时间:2016-10-05 22:25:50

标签: matlab symbolic-math

我在解决这个问题上遇到了一些麻烦。 Matlab总是返回一个空的syms变量(H,d,k和L),但我知道有一个解决方案,因为我已经用另一个程序解决了它。我需要在matlab解决这个问题。我可以改变一些想法吗?

谢谢!

clear all

syms H d k L

%parameters values
ro = 1020; % kg/m^3 - seawater
g = 9.81;  % m/s^2
T = 10; % s


z = d;
s = 0; % =d+z, with z=-d;
teta = 0; 

%equations definitions
omega = sqrt(k*g*tanh(k*d));
pressureStokes = -ro*g*z + 0.5*ro*g*H*cosh(k*s)/cosh(k*d)*cos(teta) + 3/4*ro*g*H*pi*H/L/sinh(2*k*d)*(cosh(2*k*s)/sinh(k*d)^2-1/3)*cos(2*teta) - 1/4*ro*g*H*pi*H/L/sinh(2*k*d)*(cosh(2*k*s)-1);

%equations to solve
eq1 = omega == 2*pi/T;
eq2 = k == 2*pi/L;
eq3 = pressureStokes == 86.7e3;
eq4 = pressureStokes == 124.4e3;

[H,d,k,L] = vpasolve([eq1,eq2,eq3,eq4],[H d k L],[5 10 0.07 90]);

1 个答案:

答案 0 :(得分:0)

系统包含无法同时满足的等式pressureStokes == 86.7e3;pressureStokes == 124.4e3;