首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用MATLAB求解显式方程

用MATLAB求解显式方程
EN

Stack Overflow用户
提问于 2014-06-16 12:39:01
回答 1查看 270关注 0票数 0

我需要求解马赫数M在整个流场上的下列方程:

其中q_c被定义为

γ是一个常数,是比热的比值(空气为1.4),p是压力,是网格尺寸的矩阵。因此,它是一个两边都有M的方程,需要显式地求解。

在整个流场中,是否有内置的MATLAB函数或其他方法来求解M方程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-16 13:09:29

基本上,这是一个具有非整数幂的多项式:

代码语言:javascript
复制
a := 0.88...
N := M²

⇒ N - a²·(½γN + 1)·(1 - 1/7N)²⁵ = 0

没有解析解。所以,你得用数字表示。最简单(但不是最快)的方法:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24243965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档