Info

This question is closed. Reopen it to edit or answer.

Simple Questions, Please Answer 2

1 view (last 30 days)
Antoni Ho
Antoni Ho on 24 Jan 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
hi i'm new and learning about genetic algorithm sample codes
this is part of the code:
for p=1:popsize
for n=1:nd
r=rand;
if r<pm
new(p,n)=a*old(p,n)*rand;
else
new(p,n)=old(p,n);
end
end
end
i can't find any old(p,n) function, but it still can run. is old a function provided by the matlab? if so, is there a link to learn about it?
thank you

Answers (1)

per isakson
per isakson on 24 Jan 2019
Edited: per isakson on 24 Jan 2019
old is not the name of a Matlab function. Maybe you have a variable named old
What does
which old
return?
  4 Comments
Antoni Ho
Antoni Ho on 24 Jan 2019
"old is the first input argument of the function."
exactly, so the defining of the old should be in this same file right? but there is none.
per isakson
per isakson on 24 Jan 2019
Edited: per isakson on 24 Jan 2019
"[...] old should be in this same file right?" No, typically not. Only if ymutr1 is a local or nested function.
The code you showed in a previous comment is that the only content of a file named, ymutr1.m? If so, how did you make this function run? Somewhere there is a call like
out = ymutr1( first_input, second_input, x3, x4, x5 )
in another function or in a script or in the command window. The names of the arguments doesn't matter. See function, Declare function name, inputs, and outputs. old will take the value of first_input.
How did you call ymutr1?

Community Treasure Hunt

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

Start Hunting!