Storing function and variable values as the function runs

조회 수: 6 (최근 30일)
Kim
Kim 2014년 11월 18일
댓글: Adam 2014년 11월 18일
I know this must be very simple but please help if you can! I have the following code. I am trying to find out values of p for every possible value of r and c. I would also like to store the function value along with the variable values in a matrix. I can't seem to do any of it and I'm fairly sure what I am generating isn't right. Please help!
function p= penalty(r,c) %r =current point value %c= current penalty
p= ((r/150).^-2)*c; end
%find values of p for varying values of r and c clear f; for k=1 for i=1 while k<200 while i<200
f(k, i)=penalty(k,i);
k=k+1
i=i+1
end
end
end
end

채택된 답변

Adam
Adam 2014년 11월 18일
편집: Adam 2014년 11월 18일
for k=1:200
for i=1:200
f(k, i)=penalty(k,i);
end
end
is the simplest change to your code to work using loops.
Don't mix for and while together. For is a loop, you don't want while in there as well as for.
If you want a vectorised version, change your function to:
function p= penalty(r,c) %r =current point value %c= current penalty
p = ((r'/150).^-2) * c;
end
and the call to simply:
k = 1:200;
i = 1:200;
f = penalty(k,i);
  댓글 수: 2
Kim
Kim 2014년 11월 18일
Thank you so much. I am so new to code writing and finding it hard to implement even simple mathematics!
Adam
Adam 2014년 11월 18일
Note I just edited that answer to include the vectorised version.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by