簡體   English   中英

在MATLAB中求解顯式方程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM