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³)相混淆 –