MATLAB Answers

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 ビュー (過去 30 日間)
Ashkan Rigi
Ashkan Rigi 2021 年 10 月 23 日
編集済み: Alan Stevens 2021 年 10 月 23 日
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

回答 (2 件)

Chunru
Chunru 2021 年 10 月 23 日
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 2021 年 10 月 23 日
編集済み: Alan Stevens 2021 年 10 月 23 日
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!

Translated by