Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
Trying to solve for P in the equation. Been told fzero does not give correct solution.
조회 수: 1 (최근 30일)
이전 댓글 표시
%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
2020년 2월 17일
Is there a specific Q? here?
Have you plotted the function to investigate behavoir???
답변 (1개)
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.
댓글 수: 4
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
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!