當(dāng)前位置:首頁(yè) > IT技術(shù) > 編程語(yǔ)言 > 正文

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

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

?

C++實(shí)現(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 定義一個(gè)f,大小是1xnumber,CV_64FC1指的是double類(lèi)型,通道數(shù)為1。

當(dāng)然這里可以改成雙精度數(shù)組,即:double f[1][number],更改應(yīng)與函數(shù)返回值相對(duì)應(yīng)。

本文摘自 :https://www.cnblogs.com/

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