0
明确的公式,我需要解决的马赫数M
下面的等式在整个流场:解决MATLAB
凡q_c被定义为
γ
是一个常数,是比热比(空气1.4)和p
是压力,是网格尺寸的矩阵。因此这是一个双方都有M
的等式,需要明确解决。
在整个流场中是否有内建的MATLAB函数或任何其他方式来解决M
的此方程?
明确的公式,我需要解决的马赫数M
下面的等式在整个流场:解决MATLAB
凡q_c被定义为
γ
是一个常数,是比热比(空气1.4)和p
是压力,是网格尺寸的矩阵。因此这是一个双方都有M
的等式,需要明确解决。
在整个流场中是否有内建的MATLAB函数或任何其他方式来解决M
的此方程?
基本上,这是具有非整数次幂的多项式:
a := 0.88...
N := M²
⇒ N - a²·(½γN + 1)·(1 - 1/7N)²⁵ = 0
对于其中没有解析解。所以,你必须去数值。最简单的(但不是最快的)方法:
gamma = 1.4;
a = 0.88128485;
M = zeros(size(p));
for ii = 1:numel(M)
M(ii) = fzero(@(M)...
M - a*sqrt((gamma/2*p(ii)*M.^2 + 1).*(1-1./7./M.^2).^(2.5)), ...
2.5); %# initial value; insert your roughly expected value here
end
比你的快速帮助@RodyOldenhuis。我基本上只需要计算它的后处理速度并不重要。 – Jonny
所以,你要做的就是从矩阵** p **中为每个* p_ij *值求解这个方程。你的第一步是解决它的标量值'p'。然后,您将能够向我们展示一些代码并攻击问题的第二部分:如何矢量化代码。告诉我们你确实遇到了哪些问题,如果是矢量化,我们必须首先看到代码。 –
谢谢库巴。我想为M解决,我已经有了p。 – Jonny
γ= 1.4,通常;参见[wiki](http://en.wikipedia.org/wiki/Heat_capacity_ratio)。您可能将其与标准密度(≈1.225 kg /m³)相混淆 –