How to code to perform the following task?
1 view (last 30 days)
Locations = Location(randi(numel(Location),nPop,Num_DG));
min=[0 0 1 1];
max=[4738 4738 137 137];
when the above two task is change by two varaible with complex number like
max=[4738+34i 4738+342i 137 137]; how to modify the code to perform the same tasks?
dpb on 26 Jun 2022
Edited: dpb on 26 Jun 2022
"...randi ... will return only integer-valued values; rand will generate full-precision doubles but you'll have to scale to the desired range."
The min/max ranges given were integral as were the original s PRNVs generated by the permute operation on the original s.
The first code snippet generates a vector of length Num_DG*nPop elements from the integers in the range 1:s(Num_DG).
The snippet defines Num_DG and nPop as constants; and so the permutation operation uses a specific reference to the s data as the number of possible elements to use in generating the subsequent V vector.
As noted in first comments, there is no corollary operation for this directly with complex variables; the OP will have to provide additional information on what V is used for to make some valid determination of what it means, if anything, when s is turned into a complex variable instead.
One presumes this is probably some Monte Carlo-like simulation and this was a part of a way to generate a set of RNVs for the subsequent calculation but we simply do not know enough to be able to provide a direct answer to the underlying problem.
My first suggestion of using fix(abs(s)) in lieu of s would let the code run; whether it has any use or not is another question entirely.
A more thorough understanding of the code would be required to know; it may well be that turning these values at this point in the code into complex isn't a proper thing to do at all -- but that the complex variables might come into play down in the bowels of the simulation.
If I had to really make a guess, that would be it -- the Q? asked isn't the one that should have been at all.