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.

1 visualización (últimos 30 días)
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

Respuestas (2)

Chunru
Chunru el 23 de Oct. de 2021
a=[1 2 3];
b=[4 5 6]
b = 1×3
4 5 6
n=length(a);
for i=1:n
s{i}=@(x) a(i)*x-b(i)*x;
end
s{1}(3)
ans = -9

Alan Stevens
Alan Stevens el 23 de Oct. de 2021
Editada: Alan Stevens el 23 de Oct. de 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

Categorías

Más información sobre Electrical Block Libraries en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by