变变量(Ms)求解Eqn

8次浏览(最近30天)
Benneth佩雷斯
Benneth佩雷斯 2021年9月27日
你好,
我的任务是解决这个方程,见附件的图片,我编码了这个方程。我需要找到ms的解,在我的情况下,我要解M,它是ms,我得到一个解,但是我需要找到多个解,当我改变P4/p1{1-10000)和a4/a1=[1,2,4,10]。
我不太擅长循环的东西,所以我非常困惑,什么循环使用或在哪里放置它们。我使用了for循环,它只是在没有更新变量的情况下找到了相同的解决方案。
我删除了我觉得不对的东西,留下了给我一个例子的解决方案
sympref (“FloatingPointOutput”,真正的)
γ= 1.667;
gamma4 = 1.4;
信谊
a4a1 = 1;
a1a4 = 1 / a4a1;
eqn =((γ2 * * M ^ 2-gamma1 + 1) /(γ+ 1)* (1 - (a1a4) * ((gamma4-1) /(γ+ 1)* ((M ^ 21) / M)) ^ (2 * gamma4 / (gamma4-1)) = = 0;
=解决女士(eqn, M)
这将返回
女士=
-0.4473
0.4473
我需要解出p4/p1=[10^0-10^4]和a/4/a1=[1,2,4,10]注意这个方程实际上要求的是a1/a4这就是我翻转它的原因。

接受的答案

艾伦·史蒂文斯
艾伦·史蒂文斯 2021年9月27日
是这样的:
a1a4 = 1。/[1, 2, 4, 10];
n = 10000;
p4p1 = 1: n;
M = 0(元素个数(a1a4), n);
j = 1:元素个数(a1a4)
m = 1.01;
i = p4p1
M0 = m;%使用以前的收敛值作为下一次初始估计
M(j,i) = f0 (@(M) fn(M,a1a4(j),p4p1(i)),M0);
m = m (j,我);
结束
结束
情节(p4p1, M),网格
包含(“p4p1”), ylabel (“米”
传奇(“a4 / a1 = 1”“a4 / a1 = 2”“a4 / a1 = 4”“a4 / a1 = 10”);
函数Z = fn (M, a1a4, p4p1)
γ= 1.667;
gamma4 = 1.4;
t1 = (2* M^2-(1-1))/(1 + 1);
t2 = a1a4 * (gamma4-1) / (gamma1-1) * (M - 1 / M);
T3 = -2* (- 1) /(- 1);
Z = t1*(1 - t2)^t3 - p4p1;
结束
4评论
艾伦·史蒂文斯
艾伦·史蒂文斯 2021年9月28日
注意,p4p1将取决于你为a4a1和m选择的值。你可以按如下方式重新安排程序:
a1a4 = 1。/[1, 2, 4, 10];
n = 10000;
p4p1 = 1:10: n;
M = 0(元素个数(a1a4),元素个数(p4p1));
j = 1:元素个数(a1a4)
m = 1.01;
i = 1:元素个数(p4p1)
M0 = m;%使用以前的收敛值作为下一次初始估计
M(j,i) = f0 (@(M) fn(M,a1a4(j),p4p1(i)),M0);
m = m (j,我);
结束
结束
情节(p4p1, M),网格
包含(“p4p1”), ylabel (“米”
传奇(“a4 / a1 = 1”“a4 / a1 = 2”“a4 / a1 = 4”“a4 / a1 = 10”);
%调用函数fn2与所需的值M和a1a4
M_desired = 3;a4a1_desired = 3;a1a4_desired = 1 / a4a1_desired;
disp (['M = 3, a4a1 = 'num2str (a4a1_desired)', p4p1 = 'a1a4_desired num2str (fn2 (3))))
M = 3, a4a1 = 3, p4p1 = 2273.2071
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
函数Z = fn (M, a1a4, p4p1)
stickline (c = ref (c, 1) - ref (c, 1);
结束
函数a1a4 pratio = fn2(米)
γ= 1.667;
gamma4 = 1.4;
t1 = (2* M^2-(1-1))/(1 + 1);
t2 = a1a4 * (gamma4-1) / (gamma1-1) * (M - 1 / M);
T3 = -2* (- 1) /(- 1);
ratio = t1*(1 - t2)^t3;
结束

登录评论。

更多的答案(0)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!

翻译的