changing a variable in an equation

3 visualizzazioni (ultimi 30 giorni)
Paul Rogers
Paul Rogers il 11 Dic 2020
Modificato: Paul Rogers il 11 Dic 2020
Hi, I wrote this little piece of code to evaluate
mass_flow
I then find out I have mass_flow, and I need to evaluate ER. Is there an automatic way to do so without doing the math?
clear
clc
close all
load
datas.mat
k = 1.4; %Gas constant ratio, cp/cv()
R = 287.05; %ideal gas constant [J/Kg*K]
A_eff = .0069; %[m^2]
mass_flow = phi_10Hz; %expansion ratio
mass_flow = A_eff.*((k./R).^0.5).*((1./E_R).^(1/k)).*(((2./k-1).*(1-(1./E_R).^((k-1)./k))).*0.5);
figure()
plot(E_R,mass_flow)
In attached the datas.mat you need to run the file
  4 Commenti
Alan Stevens
Alan Stevens il 11 Dic 2020
Modificato: Alan Stevens il 11 Dic 2020
Ah yes. Because you want to plot mass-flow agaist E_R, I assume you want to find a different E_R for each value of mass_flow (rather than a single overall best-fit), in which case one way is to do the following:
load datas.mat
k = 1.4; %Gas constant ratio, cp/cv()
R = 287.05; %ideal gas constant [J/Kg*K]
A_eff = .0069; %[m^2]
mass_flow = phi_10Hz; %expansion ratio
mass_flowfn = @(E_R) A_eff.*((k./R).^0.5).*((1./E_R).^(1/k)).*(((2./k-1).*(1-(1./E_R).^((k-1)./k))).*0.5);
E_R = zeros(1,numel(mass_flow));
ER0 = 1; % Initial guess
for i = 1:numel(mass_flow)
E_R(i) = fminsearch(@(ER)fn(ER,mass_flowfn,mass_flow(i)),ER0);
ER0 = E_R(i);
end
figure()
plot(E_R,mass_flow)
function F = fn(ER, mass_flowfn, mass_flow)
F = norm(mass_flowfn(ER) - mass_flow);
end
Most of the values of E_R seem to be the same, so perhaps this isn't the best method!
Paul Rogers
Paul Rogers il 11 Dic 2020
Modificato: Paul Rogers il 11 Dic 2020
mmm, thanks, but basically what I wanted is to write the following euation as a function of m and not ER like it is now.
Since it's pretty rought I wanted to know if there is some matlab tricks I don't know to do so.
In short I have m=f(ER), and I want ER=f(m)

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Systems Of Linear Equations in Help Center e File Exchange

Prodotti


Release

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by