I would like to create a handle function by for loop in matlab, but it does not work. I will be thankful if some body help me.

3 views (last 30 days)
Ashkan Rigi
Ashkan Rigi on 23 Oct 2021
Edited: Alan Stevens on 23 Oct 2021
a=[1 2 3];
b=[4 5 6]
n=length(a);
for i=1:n
s(i)=@(x) a(i)*x-b(i)*x;
end

Answers (2)


Alan Stevens
Alan Stevens on 23 Oct 2021
Edited: Alan Stevens on 23 Oct 2021
More like this?
sfn = @(x,a,b) (a - b)*x;
a=[1 2 3];
b=[4 5 6];
n=length(a);
x = 1; % specify whatever x value you want
for i=1:n
s(i) = sfn(x,a(i),b(i));
end

Community Treasure Hunt

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

Start Hunting!