MATLAB Answers

How can I get values for f in a matrix of dimension(100,1)?

조회 수: 1(최근 30일)
athi
athi 18 Sep 2017
답변: Jan 18 Sep 2017
for x=linspace(-1,1,10)
for y=linspace(-1,1,10)
f= (1-x).^2 +100*(y-x.^2).^2
end
end

  댓글 수: 0

댓글을 달려면 로그인하십시오.

답변(2개)

José-Luis
José-Luis 18 Sep 2017
편집: José-Luis 18 Sep 2017
f =@(x,y) (1-x).^2 +100*(y-x.^2).^2;
dummy = linspace(-1,1,10);
[xx,yy] = ndgrid(dummy,dummy);
result = f(xx,yy);
result = result(:);
Alternatively:
result = bsxfun(f,dummy,dummy.');
result = result(:);

  댓글 수: 0

댓글을 달려면 로그인하십시오.


Jan
Jan 18 Sep 2017
Since R2016b with auto-expanding:
x = linspace(-1,1,10);
y = linspace(-1,1,10).';
f = (1-x).^2 + 100*(y - x.^2).^2;
f = f(:)

  댓글 수: 0

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by