當前位置:首頁 > IT技術(shù) > 編程語言 > 正文

linspace函數(shù)c++實現(xiàn)
2022-05-11 11:02:06

matlab里的linspace函數(shù)是均分計算指令,用法是:linspace(x1,x2,N),用于產(chǎn)生x1,x2之間的N點行線性的矢量。其中x1、x2、N分別為起始值、終止值、元素個數(shù)。若默認N,默認點數(shù)為100。

?

C++實現(xiàn)為

[cpp]?view plain?copy
?
  1. //linspace函數(shù)??
  2. Mat?linspace(double?begin,?double?finish,?int?number)?{??
  3. ????double?interval?=?(finish?-?begin)?/?(number?-?1);//??
  4. ????Mat?f(1,?number,?CV_64FC1);??
  5. ????for?(int?i?=?0;?i?<?f.rows;?i++)?{??
  6. ????????for?(int?j?=?0;?j?<?f.cols;?j++)?{??
  7. ????????????f.at<double>(i, j) = begin + j * interval;??
  8. ????????????//cout?<<?"(" << i + 1 << "," << j + 1 << ")" << f.at<double>(i,? j)?<<?endl;??
  9. ????????}??
  10. ????}??
  11. ????return?f;??
  12. }??

這里的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/

開通會員,享受整站包年服務(wù)立即開通 >