Solve a nonlinear equation with constrains
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
clear
p0=1000e6;
t0 = 1e-6;
td = 1e-6;
t = t0 + td;
c = 5e6;
a = @(r)log(r)./(t0*(r-1.0));
b = @(r)a(r).*r;
func= @(r) p0*((exp(-a*t) - exp(-b*t))/(exp(-a*t0) - exp(-b*t0)))-c;
r=1.5;
roots = fzero(func,r)
my equation is the func.
where a and b are,
1 Commento
Bora Eryilmaz
il 15 Dic 2022
Modificato: Bora Eryilmaz
il 15 Dic 2022
Your function "p(t)" (func in your code) is not a function of time since you are assigning a fixed scalar value to "t" in your code. So, func() is a function of r, with a fixed "t". So what you are really solving here is p(r) = 0 given fixed values for t, t0, a, b, c.
You will need to reformulate your problem.
Risposta accettata
Torsten
il 15 Dic 2022
p0 = 1000e6;
t0 = 1e-6;
td = 1e-6;
t = t0 + td;
c = 7.5e8;
a = @(r)log(r)./(t0*(r-1.0));
b = @(r)a(r).*r;
func= @(r) p0*((exp(-a(r)*t) - exp(-b(r)*t))./(exp(-a(r)*t0) - exp(-b(r)*t0))) - c;
r = 0.001:0.1:10;
plot(r,func(r))
root1 = fzero(func,[0.001 0.75])
root2 = fzero(func,[1.1 2.5])
2 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Systems of Nonlinear Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!