필터 지우기
필터 지우기

Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

Trying to solve for P in the equation. Been told fzero does not give correct solution.

조회 수: 1 (최근 30일)
Skye Cameron
Skye Cameron 2020년 2월 17일
마감: MATLAB Answer Bot 2021년 8월 20일
%clc; clear; close all; format short g;
%knowns
gamma = 1.66;
R = 8.314;
m = 4.0e-3;
RoM = R/m;
P0 = 10e5;
T0 = 300;
r0 = 0.01;
L = 0.05;
rho0 = P0/(RoM*T0);
%function for area
x = [0:0.001:2*L];
func = @(x) r0*((2*x./L)+ exp(-2*x./L));
y = func(x);
plot(x,y);
At = pi*r0*r0;
% equations
mc = At*(sqrt(gamma*P0*rho0))*(2/(gamma+1))^((gamma+1)/(2*(gamma-1))); %mass flux choking
%solving for P
f = @(P) ((P/P0)^(2/gamma)) - ((P/P0)^(1+(1/gamma))) == ((gamma-1)/(2*gamma))*((mc^2)/((At^2)*P0*rho0));
r = solve (f,eps)
  댓글 수: 1
dpb
dpb 2020년 2월 17일
Is there a specific Q? here?
Have you plotted the function to investigate behavoir???

답변 (1개)

Samatha Aleti
Samatha Aleti 2020년 2월 26일
Hi,
I think you need to specify the variables as “sym” to use “solve”. You may also solve for “P” using “fsolve function.
Here is the documentation link for “fsolve”.
  댓글 수: 4
Walter Roberson
Walter Roberson 2020년 2월 26일
If you convert everything to rational, except using the transcendentatal pi instead of an approximation of it, then 281250*sqrt(3) becomes an exact solution. That is approximately 487139.2898.
dpb
dpb 2020년 2월 28일
Ah, indeed! I hadn't really looked at the algebra, just the numerical solution. Nicely done, Walter!

이 질문은 마감되었습니다.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by