How do I set up a particular function

Dear all,
I have a function
f=@(x) umax(x,u, t);
The problem is that x changes at each value of t=1,...,T; that is,
LL= function umax(x,u, t);
if t==1
u=[x; u(2:T) ];
elseif t==T
u=[u(1:T-1);x ];
else
u=[u(1:t-1);x;u(t+1:T) ];
end
LL='some function of the sum of u which I skip now'
end
Is the above code correct or the code below?
f=@(x) umax(x,u, t);
LL= function umax(x,u, t);
u(t)=x
LL='some function of the sum of u which I skip now'
end
LL produces a scalar.
Thanks a lot

5 个评论

The output appears to be a vector of values each time. It is not clear what "maximizing" it means ??
I modified by output. Is that now more clear?
The first one requires that a function named T has been defined that returns a scalar and that t is a nonnegative integer scalar. 0 is ok for t for the first one.
The second one is more efficient but requires that t be positive integer. 0 is not possible there. A vector or array of t is possible as long as x is scalar or the same number of entries.
Could you give me a particular code example as I am bit confused. Thanks.

回答(0 个)

此问题已关闭。

提问:

2019-5-15

关闭:

2021-8-20

Community Treasure Hunt

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

Start Hunting!

Translated by