How to integrate a symbolic function?
    5 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hello,
I´m trying to integrate a symolic expression. Therefore I use the MATLAB command "int". But the problem is that it seems like Matlab doesn´t calculate that integral. If I try to convert the result into a numeric number: double(result) then I will get an error.
Could somebody help me, please?
This is my code:
tfail = [5571.760,5573.742,5654.457]
n = length(tfail)
beta_hat = 4.2915822 
B_hat = 1861.6186657
C_hat = 58.9848692 
syms t B beta C
y(t) = (exp(-B_hat/((heaviside(t)-heaviside(t-2000))*(330)+(heaviside(t-2000)-heaviside(t-3000))*(350)+...
    (heaviside(t-3000)-heaviside(t-14000))*(390))))/C_hat;
logL=0;
for i=1:n 
    tfail(i)
    I(i) = int(y(t),t,0,tfail(i))
    y_new(i)=subs(y,t,tfail(i))
    logL =logL+log((beta*y_new(i)*(I(i))^(beta-1))*exp(-((I(i))^beta)))
end
PS: for i=1, I should get for the integral I(t=5571.76)=0.57185
0 Commenti
Risposta accettata
  Walter Roberson
      
      
 il 23 Gen 2016
        You have subs(y,t,tfail(i)) when y is a function. You invoke functions on values, not subs() the values.
y_new(i) = y(tfail(i))
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Calculus 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!

