Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Trying to solve for P in the equation. Been told fzero does not give correct solution.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
%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 Kommentar
dpb
am 17 Feb. 2020
Is there a specific Q? here?
Have you plotted the function to investigate behavoir???
Antworten (1)
Samatha Aleti
am 26 Feb. 2020
Hi,
I think you need to specify the variables as “sym” to use “solve”. You may also solve for “P” using “fsolve” function.
4 Kommentare
Walter Roberson
am 26 Feb. 2020
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
am 28 Feb. 2020
Ah, indeed! I hadn't really looked at the algebra, just the numerical solution. Nicely done, Walter!
Diese Frage ist geschlossen.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!