我有一个功能
function y = testf(x,F,phi,M,beta,alpha)
y = -((F+(1 + phi.*cos(2.*pi.*x))).*M.^3.*(cosh((1 + phi.*cos(2.*pi.*x)).*M)+M.*beta.*sinh((1 + phi.*cos(2.*pi.*x)).*M)))./((1 + phi.*cos(2.*pi.*x)).*M.*cosh((1 + phi.*cos(2.*pi.*x)).*M)+(-1+(1 + phi.*cos(2.*pi.*x)).*M.^2.*beta).*sinh((1 + phi.*cos(2.*pi.*x)).*M))- (alpha.*(M.^2.*(F+(1 + phi.*cos(2.*pi.*x))).*(-1+2.*(1 + phi.*cos(2.*pi.*x)).^2.*M.^2+ cosh(2.*(1 + phi.*cos(2.*pi.*x)).*M)-2.*(1 + phi.*cos(2.*pi.*x)).*M.*sinh(2.*(1 + phi.*cos(2.*pi.*x)).*M)))./(8.*((1 + phi.*cos(2.*pi.*x)).*M.*cosh((1 + phi.*cos(2.*pi.*x)).*M)+(-1+(1 + phi.*cos(2.*pi.*x)).*M.^2.*beta).*sinh((1 + phi.*cos(2.*pi.*x)).*M)).^2));
与
整合q = quad(@(x) testf (x, F, phi,M, beta, alpha), 0, h);
当q = 0且x,F,phi,M,beta时,如何找到alpha并绘制流线?
答案 0 :(得分:0)
如果你给出了一些数字会很棒,但这就是你如何开始这个。它假设您使用的是具有MuPad作为符号引擎的Matlab版本。
首先,我不会使用quad
,因为会涉及符号表达式,而是使用int
。
如果我理解正确,请使用x, F, phi, M, beta
的值,并在alpha
q = 0
求解
%define the known variables first
syms alpha %defining symbolic object
现在,以下内容可能不起作用,因为它具有巨大的功能:
q = int(y,x,0,h)
如果确实如此,你所要做的就是解决并评估alpha的结果(这可能也行不通):
alpha = eval( solve( 'q' , alpha ) )
如果上述内容没有取得任何成果,您可以查看'IgnoreAnalyticConstraints'
选项。