我在解决这个问题上遇到了一些麻烦。 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]);
答案 0 :(得分:0)
系统包含无法同时满足的等式pressureStokes == 86.7e3;
和pressureStokes == 124.4e3;