How to integrate a symbolic function?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Walter Roberson
2016-1-23
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))
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!