matlab里的linspace函數(shù)是均分計算指令,用法是:linspace(x1,x2,N),用于產(chǎn)生x1,x2之間的N點行線性的矢量。其中x1、x2、N分別為起始值、終止值、元素個數(shù)。若默認N,默認點數(shù)為100。
?
C++實現(xiàn)為
- //linspace函數(shù)??
- Mat?linspace(double?begin,?double?finish,?int?number)?{??
- ????double?interval?=?(finish?-?begin)?/?(number?-?1);//??
- ????Mat?f(1,?number,?CV_64FC1);??
- ????for?(int?i?=?0;?i?<?f.rows;?i++)?{??
- ????????for?(int?j?=?0;?j?<?f.cols;?j++)?{??
- ????????????f.at<double>(i, j) = begin + j * interval;??
- ????????????//cout?<<?"(" << i + 1 << "," << j + 1 << ")" << f.at<double>(i,? j)?<<?endl;??
- ????????}??
- ????}??
- ????return?f;??
- }??
這里的Mat f(1,number,CV_64FC1)指的是opencv里的矩陣Mat 定義一個f,大小是1xnumber,CV_64FC1指的是double類型,通道數(shù)為1。
當然這里可以改成雙精度數(shù)組,即:double f[1][number],更改應與函數(shù)返回值相對應。
本文摘自 :https://www.cnblogs.com/