relevant Matlab code can be found in
...\toolbox\matlab\elmat\linspace.m
This function generates N points between min and max.
vector<double> linspace(double min, double max, int n)
{
vector<double> result;
// vector iterator
int iterator = 0;
for (int i = 0; i <= n-2; i++)
{
double temp = min + i*(max-min)/(floor((double)n) - 1);
result.insert(result.begin() + iterator, temp);
iterator += 1;
}
//iterator += 1;
result.insert(result.begin() + iterator, max);
return result;
}
template
std::vector linspace(const T& lo, const T& hi, const int32_t& N)
{
T incr = (hi – lo) / (N-1);
std::vector res(N);
for(int i = 0; i < N; ++i)
{
res[i] = lo + i * incr;
}
return res;
}