[英]Solving of explicit equation in MATLAB
我需要在整個流場上求解馬赫數M
的以下方程式:
其中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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.