how to find integral absolute error
100 次查看(过去 30 天)
显示 更早的评论
i need to derive a cost function from one of performance indices ( i took IAE as my performance index)
my reference value(steady state) is 7.5 and my output is a function of (t,d,e) where d,e constants vary between (0.1)
how to do the integration to find integral absolute error
0 个评论
采纳的回答
Walter Roberson
2021-8-8
syms d e t
f(t) = d*exp(-t^2*e)
reference = 7.5;
final_time = 10
IAE = int(abs(f(t) - reference), t, 0, final_time)
subs(IAE, [d, e], [1/5, 2/3])
2 个评论
Walter Roberson
2021-8-8
syms d e t
f(t) = d*exp(-t^2*e)
reference = 7.5;
final_time = 10
diff_function = f(t) - reference;
IAE = int(abs(diff_function), t, 0, final_time)
best_d = solve(diff_function,d)
diff_function2 = subs(diff_function, d, best_d)
best_e = solve(diff(diff_function2, e), e)
best_d = subs(best_d, e, best_e)
best_f = subs(f, [d, e], [best_d, best_e])
Which is to say that for this particular function, f(t), with d and e in that particular relationship to the function, that the best function (smallest IAE) occurs when the function is the constant function equal to the reference value.
The approach used here is the standard calculus approach: the critical points of a function are the points at which the derivative of the function are equal to 0. When the function to be optimized is an integral, then the derivative is the thing that was being integrated... so solve f(t)-reference == 0 for d and e. If the function never equals the reference over the permitted range of d and e, then the best IAE occurs at one of the boundary points.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!