How to convert into function handle?

2 次查看(过去 30 天)
Max
Max 2016-2-10
评论: Adam 2016-2-10
Hello guys,
I have a little problem with the convertion into function handle. I wrote the source-code below and would like to do the same but not in symbolic variables. I would like to use function handles. But the code doesn´t work.
Can anybody help me, please?
tfail = [3850,4340,4760,3300,3720,4080,2750,3100,3400];
n=length(tfail);
beta_hat =13.502152;
B_hat = 1861.328876;
C_hat=39.624407;
syms t B beta C
y(t) = (exp(-B/((heaviside(t)-heaviside(t-2000))*(330)+(heaviside(t-2000)-heaviside(t-3000))*(350)+...
(heaviside(t-3000)-heaviside(t-5000))*(390))))/C;
logL=0;
for i=1:n
tfail(i);
%%function handle
ynum=matlabFunction(y);
Inum=@(x)integral(ynum,0,tfail(i));
Rnum=@(x)exp(-(Fnum(x)).^beta);
%%Symbolic
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
%%Symbolic
p = int(y(t),t,0,4000);
u = beta*log(p);
u_hat=subs(u,{beta,B,C},{beta_hat,B_hat,C_hat})
  2 个评论
Jan
Jan 2016-2-10
And what should be converted to a functionhandle? What does "it does not work" mean explicitly? Do you get an error message or do the results differ from your expectations?
Adam
Adam 2016-2-10
You should also post the attempt without using symbolic variables since it sounds like you have at least made an attempt at this to find that it doesn't work.
I'm probably not the only one who knows nothing about the Symbolic toolbox, but know enough about function handles to spot problems in code using them.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by