Symbolic rewritten in matlab
    7 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Miraboreasu
 am 21 Jun. 2022
  
    
    
    
    
    Kommentiert: Walter Roberson
      
      
 am 21 Jun. 2022
            alpha=log(r)/t0/(r-1);
beta=r*log(r)/t0/(r-1);
p0=p*(exp(-alpha*t)-exp(-beta*t))/(exp(-alpha*t0)-exp(-beta*t0));
%r=?
%I tried this, plug alpha and beta with the expressions
syms r t p p0 t0
alpha=log(r)/t0/(r-1);
beta=r*log(r)/t0/(r-1);
%p0=p*(exp(-(log(r)/t0/(r-1))*t)-exp(-(r*log(r)/t0/(r-1))*t))/(exp(-(log(r)/t0/(r-1))*t0)-exp(-(r*log(r)/t0/(r-1))*t0));
eqn=(p*(exp(-(log(r)/t0/(r-1))*t)-exp(-(r*log(r)/t0/(r-1))*t))/(exp(-(log(r)/t0/(r-1))*t0)-exp(-(r*log(r)/t0/(r-1))*t0))==p0);
r=solve(eqn,[t, p, p0 t0])
%It doesn't give what I want
Hello, I have a equation, p0= above
I want to rewrite it as r=something
how can I do this in MATLAB or any other website?
1 Kommentar
  Walter Roberson
      
      
 am 21 Jun. 2022
				You cannot solve one equation for four variables. You should be trying
solve(eqn, r)
Akzeptierte Antwort
  Star Strider
      
      
 am 21 Jun. 2022
        An analytic solution is likely not possible, due to the nature of the expression.  
The only option is to solve it numerically for ‘r’ given appropriate values for the other variables — 
syms p p0 r t0 t 
alpha=log(r)/t0/(r-1);
beta=r*log(r)/t0/(r-1);
Eqn = p0 == p*(exp(-alpha*t)-exp(-beta*t))/(exp(-alpha*t0)-exp(-beta*t0))
p0fcn = matlabFunction(rhs(Eqn)-p0)
p  = rand;
p0 = rand;
t  = rand;
t0 = rand;
r = fsolve(@(r)p0fcn(p,p0,r,t,t0), rand)
.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



