lucas演算法
❶ lucas光流演算法 窗口應該選多大
原函數比較長,我這里就不列了。根據函數頭部。 function [Dx, Dy] =Lucas_Kanade(img1,img2,density) 輸出的矩陣就是X(橫軸)方向和Y(縱軸)方向的光流場,你可以通過: >>quiver(Dx,Dy) 查看光流場的圖形。 density表示輸出光流場的粒度
❷ 最著名的數學題是什麼
第01題 阿基米德分牛問題Archimedes' Problema Bovinum 太陽神有一牛群,由白、黑、花、棕四種顏色的公、母牛組成. 在公牛中,白牛數多於棕牛數,多出之數相當於黑牛數的1/2+1/3;黑牛數多於棕牛數,多出之數相當於花牛數的1/4+1/5;花牛數多於棕牛數,多出之數相當於白牛數的1/6+1/7. 在母牛中,白牛數是全體黑牛數的1/3+1/4;黑牛數是全體花牛數1/4+1/5;花牛數是全體棕牛數的1/5+1/6;棕牛數是全體白牛數的1/6+1/7. 問這牛群是怎樣組成的?第02題 德•梅齊里亞克的法碼問題The Weight Problem of Bachet de Meziriac 一位商人有一個40磅的砝碼,由於跌落在地而碎成4塊.後來,稱得每塊碎片的重量都是整磅數,而且可以用這4塊來稱從1至40磅之間的任意整數磅的重物. 問這4塊砝碼碎片各重多少?第03題 牛頓的草地與母牛問題Newton's Problem of the Fields and Cows a頭母牛將b塊地上的牧草在c天內吃完了; a'頭母牛將b'塊地上的牧草在c'天內吃完了; a"頭母牛將b"塊地上的牧草在c"天內吃完了;求出從a到c"9個數量之間的關系?第04題 貝韋克的七個7的問題Berwick's Problem of the Seven Sevens 在下面除法例題中,被除數被除數除盡: * * 7 * * * * * * * ÷ * * * * 7 * = * * 7 * * * * * * * * * * * * * 7 * * * * * * * * * 7 * * * * * 7 * * * * * * * * * * * * * * * 7 * * * * * * * * * * * * * * 用星號(*)標出的那些數位上的數字偶然被擦掉了,那些不見了的是些什麼數字呢?第05題 柯克曼的女學生問題Kirkman's Schoolgirl Problem 某寄宿學校有十五名女生,她們經常每天三人一行地散步,問要怎樣安排才能使每個女生同其他每個女生同一行中散步,並恰好每周一次?第06題 伯努利-歐拉關於裝錯信封的問題The Bernoulli-Euler Problem of the Misaddressed letters 求n個元素的排列,要求在排列中沒有一個元素處於它應當佔有的位置.第07題 歐拉關於多邊形的剖分問題Euler's Problem of Polygon Division 可以有多少種方法用對角線把一個n邊多邊形(平面凸多邊形)剖分成三角形?第08題 魯卡斯的配偶夫婦問題Lucas' Problem of the Married Couples n對夫婦圍圓桌而坐,其座次是兩個婦人之間坐一個男人,而沒有一個男人和自己的妻子並坐,問有多少種坐法?第09題 卡亞姆的二項展開式Omar Khayyam's Binomial Expansion 當n是任意正整數時,求以a和b的冪表示的二項式a+b的n次冪.第10題 柯西的平均值定理Cauchy's Mean Theorem 求證n個正數的幾何平均值不大於這些數的算術平均值.第11題 伯努利冪之和的問題Bernoulli's Power Sum Problem 確定指數p為正整數時最初n個自然數的p次冪的和S=1p+2p+3p+…+np.第12題 歐拉數The Euler Number 求函數φ(x)=(1+1/x)x及Φ(x)=(1+1/x)x+1當x無限增大時的極限值.第13題 牛頓指數級數Newton's Exponential Series 將指數函數ex變換成各項為x的冪的級數.第14題 麥凱特爾對數級數Nicolaus Mercator's Logarithmic Series 不用對數表,計算一個給定數的對數.第15題 牛頓正弦及餘弦級數Newton's Sine and Cosine Series 不用查表計算已知角的正弦及餘弦三角函數.第16題 正割與正切級數的安德烈推導法Andre's Derivation of the Secant and Tangent Series 在n個數1,2,3,…,n的一個排列c1,c2,…,cn中,如果沒有一個元素ci的值介於兩個鄰近的值ci-1和ci+1之間,則稱c1,c2,…,cn為1,2,3,…,n的一個屈折排列. 試利用屈折排列推導正割與正切的級數.第17題 格雷戈里的反正切級數Gregory's Arc Tangent Series 已知三條邊,不用查表求三角形的各角.第18題 德布封的針問題Buffon's Needle Problem 在檯面上畫出一組間距為d的平行線,把長度為l(小於d)的一根針任意投擲在檯面上,問針觸及兩平行線之一的概率如何?第19題 費馬-歐拉素數定理The Fermat-Euler Prime Number Theorem 每個可表示為4n+1形式的素數,只能用一種兩數平方和的形式來表示.第20題 費馬方程The Fermat Equation 求方程x2-dy2=1的整數解,其中d為非二次正整數.第21題 費馬-高斯不可能性定理The Fermat-Gauss Impossibility Theorem 證明兩個立方數的和不可能為一立方數.第22題 二次互反律The Quadratic Reciprocity Law (歐拉-勒讓德-高斯定理)奇素數p與q的勒讓德互反符號取決於公式 (p/q)•(q/p)=(-1)[(p-1)/2]•[(q-1)/2].第23題 高斯的代數基本定理Gauss' Fundamental Theorem of Algebra 每一個n次的方程zn+c1zn-1+c2zn-2+…+cn=0具有n個根.第24題 斯圖謨的根的個數問題Sturm's Problem of the Number of Roots 求實系數代數方程在已知區間上的實根的個數.第25題 阿貝爾不可能性定理Abel's Impossibility Theorem 高於四次的方程一般不可能有代數解法.第26題 赫米特-林德曼超越性定理The Hermite-Lindemann Transcedence Theorem 系數A不等於零,指數α為互不相等的代數數的表達式A1eα1+A2eα2+A3eα3+…不可能等於零.第27題 歐拉直線Euler's Straight Line 在所有三角形中,外接圓的圓心,各中線的交點和各高的交點在一直線—歐拉線上,而且三點的分隔為:各高線的交點(垂心)至各中線的交點(重心)的距離兩倍於外接圓的圓心至各中線的交點的距離.第28題 費爾巴哈圓The Feuerbach Circle 三角形中三邊的三個中點、三個高的垂足和高的交點到各頂點的線段的三個中點在一個圓上.第29題 卡斯蒂朗問題Castillon's Problem 將各邊通過三個已知點的一個三角形內接於一個已知圓.第30題 馬爾法蒂問題Malfatti's Problem 在一個已知三角形內畫三個圓,每個圓與其他兩個圓以及三角形的兩邊相切.第31題 蒙日問題Monge's Problem 畫一個圓,使其與三已知圓正交.第32題 阿波洛尼斯相切問題The Tangency Problem of Apollonius. 畫一個與三個已知圓相切的圓.第33題 馬索若尼圓規問題Macheroni's Compass Problem. 證明任何可用圓規和直尺所作的圖均可只用圓規作出.第34題 斯坦納直尺問題Steiner's Straight-edge Problem 證明任何一個可以用圓規和直尺作出的圖,如果在平面內給出一個定圓,只用直尺便可作出.第35題 德里安倍立方問題The Deliaii Cube-doubling Problem 畫出體積為一已知立方體兩倍的立方體的一邊.第36題 三等分一個角Trisection of an Angle 把一個角分成三個相等的角.第37題 正十七邊形The Regular Heptadecagon 畫一正十七邊形.第38題 阿基米德π值確定法Archimedes' Determination of the Number Pi 設圓的外切和內接正2vn邊形的周長分別為av和bv,便依次得到多邊形周長的阿基米德數列:a0,b0,a1,b1,a2,b2,…其中av+1是av、bv的調和中項,bv+1是bv、av+1的等比中項. 假如已知初始兩項,利用這個規則便能計算出數列的所有項. 這個方法叫作阿基米德演算法.第39題 富斯弦切四邊形問題Fuss' Problem of the Chord-Tangent Quadrilateral 找出半徑與雙心四邊形的外接圓和內切圓連心線之間的關系.(註:一個雙心或弦切四邊形的定義是既內接於一個圓而同時又外切於另一個圓的四邊形)第40題 測量附題Annex to a Survey 利用已知點的方位來確定地球表面未知但可到達的點的位置.第41題 阿爾哈森彈子問題Alhazen's Billiard Problem 在一個已知圓內,作出一個其兩腰通過圓內兩個已知點的等腰三角形.第42題 由共軛半徑作橢圓An Ellipse from Conjugate Radii 已知兩個共軛半徑的大小和位置,作橢圓.第43題 在平行四邊形內作橢圓An Ellipse in a Parallelogram, 在規定的平行四邊形內作一內切橢圓,它與該平行四邊形切於一邊界點.第44題 由四條切線作拋物線A Parabola from Four Tangents 已知拋物線的四條切線,作拋物線.第45題 由四點作拋物線A Parabola from Four Points. 過四個已知點作拋物線.第46題 由四點作雙曲線A Hyperbola from Four Points. 已知直角(等軸)雙曲線上四點,作出這條雙曲線.第47題 范•施古登軌跡題Van Schooten's Locus Problem 平面上的固定三角形的兩個頂點沿平面上一個角的兩個邊滑動,第三個頂點的軌跡是什麼?第48題 卡丹旋輪問題Cardan's Spur Wheel Problem. 一個圓盤沿著半徑為其兩倍的另一個圓盤的內緣滾動時,這個圓盤上標定的一點所描出的軌跡是什麼?第49題 牛頓橢圓問題Newton's Ellipse Problem. 確定內切於一個已知(凸)四邊形的所有橢圓的中心的軌跡.第50題 彭賽列-布里昂匈雙曲線問題The Poncelet-Brianchon Hyperbola Problem 確定內接於直角(等邊)雙曲線的所有三角形的頂垂線交點的軌跡. question ________________________________________ 第51題 作為包絡的拋物線A Parabola as Envelope 從角的頂點,在角的一條邊上連續n次截取任意線段e,在另一條邊上連續n次截取線段f,並將線段的端點注以數字,從頂點開始,分別為0,1,2,…,n和n,n-1,…,2,1,0. 求證具有相同數字的點的連線的包絡為一條拋物線. 第52題 星形線The Astroid 直線上兩個標定的點沿著兩條固定的互相垂直的軸滑動,求這條直線的包絡.第53題 斯坦納的三點內擺線Steiner's Three-pointed Hypocycloid 確定一個三角形的華萊士(Wallace)線的包絡.第54題 一個四邊形的最接近圓的外接橢圓The Most Nearly Circular Ellipse Circumscribing a Quadrilateral 一個已知四邊形的所有外接橢圓中,哪一個與圓的偏差最小?第55題 圓錐曲線的曲率The Curvature of Conic Sections 確定一個圓錐曲線的曲率.第56題 阿基米德對拋物線面積的推算Archimedes' Squaring of a Parabola 確定包含在拋物線內的面積.第57題 推算雙曲線的面積Squaring a Hyperbola 確定雙曲線被截得的部分所含的面積.第58題 求拋物線的長Rectification of a Parabola 確定拋物線弧的長度.第59題 笛沙格同調定理(同調三角形定理)Desargues' Homology Theorem (Theorem of Homologous Triangles) 如果兩個三角形的對應頂點連線通過一點,則這兩個三角形的對應邊交點位於一條直線上. 反之,如果兩個三角形的對應邊交點位於一條直線上,則這兩個三角形的對應頂點連線通過一點.第60題 斯坦納的二重元素作圖法Steiner's Double Element Construction 由三對對應元素所給定的重迭射影形,作出它的二重元素.第61題 帕斯卡六邊形定理Pascal's Hexagon Theorem 求證內接於圓錐曲線的六邊形中,三雙對邊的交點在一直線上.第62題 布里昂匈六線形定理Brianchon's Hexagram Theorem 求證外切於圓錐曲線的六線形中,三條對頂線通過一點.第63題 笛沙格對合定理Desargues' Involution Theorem 一條直線與一個完全四點形*的三雙對邊的交點與外接於該四點形的圓錐曲線構成一個對合的四個點偶. 一個點與一個完全四線形*的三雙對頂點的連線和從該點向內切於該四線形的圓錐曲線所引的切線構成一個對合的四個射線偶. *一個完全四點形(四線形)實際上含有四點(線)1,2,3,4和它們的六條連線交點23,14,31,24,12,34;其中23與14、31與24、12與34稱為對邊(對頂點).第64題 由五個元素得到的圓錐曲線A Conic Section from Five Elements 求作一個圓錐曲線,它的五個元素——點和切線——是已知的.第65題 一條圓錐曲線和一條直線A Conic Section and a Straight Line 一條已知直線與一條具有五個已知元素——點和切線——的圓錐曲線相交,求作它們的交點.第66題 一條圓錐曲線和一定點A Conic Section and a Point 已知一點及一條具有五個已知元素——點和切線——的圓錐曲線,作出從該點列到該曲線的切線.第67題 斯坦納的用平面分割空間Steiner's Division of Space by Planes n個平面最多可將整個空間分割成多少份?第68題 歐拉四面體問題Euler's Tetrahedron Problem 以六條棱表示四面體的體積.第69題 偏斜直線之間的最短距離The Shortest Distance Between Skew Lines 計算兩條已知偏斜直線之間的角和距離.第70題 四面體的外接球The Sphere Circumscribing a Tetrahedron 確定一個已知所有六條棱的四面體的外接球的半徑.第71題 五種正則體The Five Regular Solids 將一個球面分成全等的球面正多邊形.第72題 正方形作為四邊形的一個映象The Square as an Image of a Quadrilateral 證明每個四邊形都可以看作是一個正方形的透視映象.第73題 波爾凱-許瓦爾茲定理The Pohlke-Schwartz Theorem 一個平面上不全在同一條直線上的四個任意點,可認為是與一個已知四面體相似的四面體的各隅角的斜映射.第74題 高斯軸測法基本定理Gauss' Fundamental Theorem of Axonometry 正軸測法的高斯基本定理:如果在一個三面角的正投影中,把映象平面作為復平面,三面角頂點的投影作為零點,邊的各端點的投影作為平面的復數,那麼這些數的平方和等於零.第75題 希帕查斯球極平面射影Hipparchus' Stereographic Projection 試舉出一種把地球上的圓轉換為地圖上圓的保形地圖射影法.第76題 麥卡托投影The Mercator Projection 畫一個保形地理地圖,其坐標方格是由直角方格組成的.第77題 航海斜駛線問題The Problem of the Loxodrome 確定地球表面兩點間斜駛線的經度.第78題 海上船位置的確定Determining the Position of a Ship at Sea 利用天文經線推演算法確定船在海上的位置.第79題 高斯雙高度問題Gauss' Two-Altitude Problem 根據已知兩星球的高度以確定時間及位置.第80題 高斯三高度問題Gauss' Three-Altitude Problem 從在已知三星球獲得同高度瞬間的時間間隔,確定觀察瞬間,觀察點的緯度及星球的高度.第81題 刻卜勒方程The Kepler Equation 根據行星的平均近點角,計算偏心及真近點角.第82題 星落Star Setting 對給定地點和日期,計算一已知星落的時間和方位角.第83題 日晷問題The Problem of the Sundial 製作一個日晷.第84題 日影曲線The Shadow Curve 當直桿置於緯度φ的地點及該日太陽的赤緯有δ值時,確定在一天過程中由桿的一點投影所描繪的曲線.第85題 日食和月食Solar and Lunar Eclipses 如果對於充分接近日食時間的兩個瞬間太陽和月亮的赤經、赤緯以及其半徑均為已知,確定日食的開始和結束,以及太陽表面被隱蔽部分的最大值.第86題 恆星及會合運轉周期Sidereal and Synodic Revolution Periods 確定已知恆星運轉周期的兩共面旋轉射線的會合運轉周期.第87題 行星的順向和逆向運動Progressive and Retrograde Motion of Planets 行星什麼時候從順向轉為逆向運動(或反過來,從逆向轉為順向運動)?第88題 蘭伯特慧星問題Lambert's Comet Prolem 藉助焦半徑及連接弧端點的弦,來表示慧星描繪拋物線軌道的一段弧所需的時間.第89題 與歐拉數有關的斯坦納問題Steiner's Problem Concerning the Euler Number 如果x為正變數,x取何值時,x的x次方根為最大?第90題 法格乃諾關於高的基點的問題Fagnano's Altitude Base Point Problem 在已知銳角三角形中,作周長最小的內接三角形.第91題 費馬對托里拆利提出的問題Fermat's Problem for Torricelli 試求一點,使它到已知三角形的三個頂點距離之和為最小.第92題 逆風變換航向Tacking Under a Headwind 帆船如何能頂著北風以最快的速度向正北航行?第93題 蜂巢(雷阿烏姆爾問題)The Honeybee Cell (Problem by Reaumur) 試採用由三個全等的菱形作成的頂蓋來封閉一個正六稜柱,使所得的這一個立體有預定的容積,而其表面積為最小.第94題 雷奇奧莫塔努斯的極大值問題Regiomontanus' Maximum Problem 在地球表面的什麼部位,一根垂直的懸桿呈現最長?(即在什麼部位,可見角為最大?)第95題 金星的最大亮度The Maximum Brightness of Venus 在什麼位置金星有最大亮度?第96題 地球軌道內的慧星A Comet Inside the Earth's Orbit 慧星在地球的軌道內最多能停留多少天?第97題 最短晨昏蒙影問題The Problem of the Shortest Twilight 在已知緯度的地方,一年之中的哪一天晨昏蒙影最短?第98題 斯坦納的橢圓問題Steiner's Ellipse Problem 在所有能外接(內切)於一個已知三角形的橢圓中,哪一個橢圓有最小(最大)的面積?第99題 斯坦納的圓問題Steiner's Circle Problem 在所有等周的(即有相等周長的)平面圖形中,圓有最大的面積. 反之:在有相等面積的所有平面圖形中,圓有最小的周長.第100題 斯坦納的球問題Steiner's Sphere Problem 在表面積相等的所有立體中,球具有最大體積. 在體積相等的所有立體中,球具有最小的表面.
❸ 初學者,數學建模需要准備些什麼東西
數學建模應當掌握的十類演算法
1、蒙特卡羅演算法(該演算法又稱隨機性模擬演算法,是通過計算機模擬來解決問題的算 法,同時可以通過模擬可以來檢驗自己模型的正確性,是比賽時必用的方法) 2、數據擬合、參數估計、插值等數據處理演算法(比賽中通常會遇到大量的數據需要 處理,而處理數據的關鍵就在於這些演算法,通常使用Matlab作為工具) 3、線性規劃、整數規劃、多元規劃、二次規劃等規劃類問題(建模競賽大多數問題 屬於最優化問題,很多時候這些問題可以用數學規劃演算法來描述,通常使用Lindo、 Lingo軟體實現) 4、圖論演算法(這類演算法可以分為很多種,包括最短路、網路流、二分圖等演算法,涉 及到圖論的問題可以用這些方法解決,需要認真准備) 5、動態規劃、回溯搜索、分治演算法、分支定界等計算機演算法(這些演算法是演算法設計 中比較常用的方法,很多場合可以用到競賽中) 6、最優化理論的三大非經典演算法:模擬退火法、神經網路、遺傳演算法(這些問題是 用來解決一些較困難的最優化問題的演算法,對於有些問題非常有幫助,但是演算法的實 現比較困難,需慎重使用) 7、網格演算法和窮舉法(網格演算法和窮舉法都是暴力搜索最優點的演算法,在很多競賽 題中有應用,當重點討論模型本身而輕視演算法的時候,可以使用這種暴力方案,最好 使用一些高級語言作為編程工具) 8、一些連續離散化方法(很多問題都是實際來的,數據可以是連續的,而計算機只 認的是離散的數據,因此將其離散化後進行差分代替微分、求和代替積分等思想是非 常重要的) 9、數值分析演算法(如果在比賽中採用高級語言進行編程的話,那一些數值分析中常 用的演算法比如方程組求解、矩陣運算、函數積分等演算法就需要額外編寫庫函數進行調 用) 10、圖象處理演算法(賽題中有一類問題與圖形有關,即使與圖形無關,論文中也應該 要不乏圖片的,這些圖形如何展示以及如何處理就是需要解決的問題,通常使用Matlab 進行處理)
數學建模資料
競賽參考書
l、中國大學生數學建模競賽,李大潛主編,高等教育出版社(1998). 2、大學生數學建模競賽輔導教材,(一)(二)(三),葉其孝主編,湖南教育 出版社(1993,1997,1998). 3、數學建模教育與國際數學建模競賽 《工科數學》專輯,葉其孝主編, 《工科數學》雜志社,1994).
國內教材、叢書
1、數學模型,姜啟源編,高等教育出版社(1987年第一版,1993年第二版,2003年第三版;第一版在 1992年國家教委舉辦的第二屆全國優秀教材評選中獲"全國優秀教材獎"). 2、數學模型與計算機模擬,江裕釗、辛培情編,電子科技大學出版社,(1989). 3、數學模型選談(走向數學從書),華羅庚,王元著,王克譯,湖南教育出版社;(1991). 4、數學建模--方法與範例,壽紀麟等編,西安交通大學出版社(1993). 5、數學模型,濮定國、 田蔚文主編,東南大學出版社(1994). 6..數學模型,朱思銘、李尚廉編,中山大學出版社,(1995) 7、數學模型,陳義華編著,重慶大學出版社,(1995) 8、數學模型建模分析,蔡常豐編著,科學出版社,(1995). 9、數學建模競賽教程,李尚志主編,江蘇教育出版社,(1996). 10、數學建模入門,徐全智、楊晉浩編,成都電子科大出版社,(1996). 11、數學建模,沈繼紅、施久玉、高振濱、張曉威編,哈爾濱工程大學出版社,(1996). 12、數學模型基礎,王樹禾編著,中國科學技術大學出版社,(1996). 13、數學模型方法,齊歡編著,華中理工大學出版社,(1996). 14、數學建模與實驗,南京地區工科院校數學建模與工業數學討論班編,河海大學 出版社,(1996). 15、數學模型與數學建模,劉來福、曾文藝編,北京師范大學出版杜(1997). 16. 數學建模,袁震東、洪淵、林武忠、蔣魯敏編,華東師范大學出版社. 17、數學模型,譚永基,俞文吡編,復旦大學出版社,(1997). 18、數學模型實用教程,費培之、程中瑗層主編,四川大學出版社,(1998). 19、數學建模優秀案例選編(工科數學基地建設叢書),汪國強主編,華南理工大學出版社,(1998). 20、經濟數學模型(第二版)(工科數學基地建設叢書),洪毅、賀德化、昌志華 編著,華南理工大學出版社,(1999). 21、數學模型講義,雷功炎編,北京大學出版社(1999). 22、數學建模精品案例,朱道元編著,東南大學出版社,(1999), 23、問題解決的數學模型方法,劉來福,曾文藝編著、北京師范大學出版社,(1999). 24、數學建模的理論與實踐,吳翔,吳孟達,成禮智編著,國防科技大學出版社, (1999). 25、數學建模案例分析,白其嶺主編,海洋出版社,(2000年,北京). 26、數學實驗(高等院校選用教材系列),謝雲蓀、張志讓主編,科學出版社,(2000). 27、數學實驗,傅鵬、龔肋、劉瓊蓀,何中市編,科學出版社,(2000). 28、數學建模與數學實驗,趙靜、但琦編,高等教育出版社,(2000).
國外參考書(中譯本)
1、數學模型引論, E.A。Bender著,朱堯辰、徐偉宣譯,科學普及出版社(1982). 2、數學模型,[門]近藤次郎著,官榮章等譯,機械工業出版社,(1985). 3、微分方程模型,(應用數學模型叢書第1卷),[美]W.F.Lucas主編,朱煜民等 譯,國防科技大學出版社,(1988). 4、政治及有關模型,(應用數學模型叢書第2卷),[美W.F.Lucas主編,王國秋 等譯,國防科技大學出版社,(1996). 5、離散與系統模型,(應用數學模型叢書第3卷),[美w.F.Lucas主編,成禮智 等譯,國防科技大學出版社,(1996). 6、生命科學模型,(應用數學模型叢書第4卷),[美1W.F.Lucas主編,翟曉燕等 譯,國防科技大學出版社,(1996). 7、模型數學--連續動力系統和離散動力系統,[英1H.B.Grif6ths和A.01dknow 著,蕭禮、張志軍編譯,科學出版社,(1996). 8、數學建模--來自英國四個行業中的案例研究,(應用數學譯叢第4號), 英]D.Burglles等著,葉其孝、吳慶寶譯,世界圖書出版公司,(1997)
專業性參考書
(這方面書籍很多,僅列幾本供參考) : 1、水環境數學模型,[德]W.KinZE1bach著,楊汝均、劉兆昌等編纂,中國建築工 業出版社,(1987). 2、科技工程中的數學模型,堪安琦編著,鐵道出版社(1988) 3、生物醫學數學模型,青義學編著,湖南科學技術出版杜(1990). 4、農作物害蟲管理數學模型與應用,蒲蟄龍主編,廣東科技出版社(1990). 5、系統科學中數學模型,歐陽亮編著, E山東大學出版社,(1995). 6、種群生態學的數學建模與研究,馬知恩著,安徽教育出版社,(1996) 7、建模、變換、優化--結構綜合方法新進展,隋允康著,大連理工大學出版社, (1986) 8、遺傳模型分析方法,朱軍著,中國農業出版社(1997). (中山大學數學系王壽松編輯,2001年4月)
過程
模型准備
了解問題的實際背景,明確其實際意義,掌握對象的各種信息。用數學語言來描述問題。
模型假設
根據實際對象的特徵和建模的目的,對問題進行必要的簡化,並用精確的語言提出一些恰當的假設。
模型建立
在假設的基礎上,利用適當的數學工具來刻劃各變數之間的數學關系,建立相應的數學結構(盡量用簡單的數學工具)。
模型求解
利用獲取的數據資料,對模型的所有參數做出計算(或近似計算)。
模型分析
對所得的結果進行數學上的分析。
模型檢驗
將模型分析結果與實際情形進行比較,以此來驗證模型的准確性、合理性和適用性。如果模型與實際較吻合,則要對計算結果給出其實際含義,並進行解釋。如果模型與實際吻合較差,則應該修改假設,再次重復建模過程。
模型應用
應用方式因問題的性質和建模的目的而異。
1、努力學習數學知識,完善自己的知識體系,尤其是與數學相關的知識體系,比如高等數學、工程數學和應用數學的相關知識;
2、擴充自己的知識面,你可以看到很多賽題都是很現實的社會熱點問題,相關的背景知識是非常必要的;
3、多看一些案例分析的教程,在學習案例分析時的注意點是:如何考慮現實問題中的各個因素,綜合運用所學知識,建立適當的模型;如何進行模型的優化;如何求解模型;如何解釋模型的解。
還要逐步去理解數學建模中最難的三個問題,1、如何用學到的數學思想來表述所面對的問題,所謂的建模。2、應用學到的數學知識解剛剛建立的數學模型,並進行優化。3、將剛剛得到的數學上的解解釋為現實問題中的現象或者是方法。這三個過程體現了一個「現實——>數學——>現實」的一個過程。這其實就是最難的地方。這需要你首先了解面臨的實際問題,然後從現實中轉入數學,再從數學中跳出來回到現實。
4、說到matlab,我建議你借一本matlab手冊做參考書就行了!畢竟matlab只是實現你數學模型的基礎,這不是說matlab不重要,其實matlab也很重要!
祝你快樂!
❹ 如何使用opencv實現金字塔光流lk跟蹤演算法
#include <stdio.h>
#include <windows.h>
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include <opencv2\opencv.hpp>
using namespace cv;
static const double pi = 3.14159265358979323846;
inline static double square(int a)
{
return a * a;
}
/*該函數目的:給img分配內存空間,並設定format,如位深以及channel數*/
inline static void allocateOnDemand(IplImage **img, CvSize size, int depth, int channels)
{
if (*img != NULL) return;
*img = cvCreateImage(size, depth, channels);
if (*img == NULL)
{
fprintf(stderr, "Error: Couldn't allocate image. Out of memory?\n");
exit(-1);
}
}
/*主函數,原程序是讀取avi視頻文件,然後處理,我簡單改成從攝像頭直接讀取數據*/
int main(int argc, char *argv[])
{
//讀取攝像頭
VideoCapture cap(0);
//讀取視頻文件
//VideoCapture cap; cap.open("optical_flow_input.avi");
if (!cap.isOpened())
{
return -1;
}
Mat frame;
/*
bool stop = false;
while (!stop)
{
cap >> frame;
// cvtColor(frame, edges, CV_RGB2GRAY);
// GaussianBlur(edges, edges, Size(7, 7), 1.5, 1.5);
// Canny(edges, edges, 0, 30, 3);
// imshow("當前視頻", edges);
imshow("當前視頻", frame);
if (waitKey(30) >= 0)
stop = true;
}
*/
//CvCapture *input_video = cvCaptureFromFile( "optical_flow_input.avi" );
//cv::VideoCapture cap = *(cv::VideoCapture *) userdata;
//if (input_video == NULL)
// {
// fprintf(stderr, "Error: Can't open video device.\n");
// return -1;
// }
/*先讀取一幀,以便得到幀的屬性,如長、寬等*/
//cvQueryFrame(input_video);
/*讀取幀的屬性*/
CvSize frame_size;
frame_size.height = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
frame_size.width = cap.get(CV_CAP_PROP_FRAME_WIDTH);
/*********************************************************/
/*用於把結果寫到文件中去,非必要
int frameW = frame_size.height; // 744 for firewire cameras
int frameH = frame_size.width; // 480 for firewire cameras
VideoWriter writer("VideoTest.avi", -1, 25.0, cvSize(frameW, frameH), true);
/*開始光流法*/
//VideoWriter writer("VideoTest.avi", CV_FOURCC('D', 'I', 'V', 'X'), 25.0, Size(640, 480), true);
while (true)
{
static IplImage *frame = NULL, *frame1 = NULL, *frame1_1C = NULL,
*frame2_1C = NULL, *eig_image = NULL, *temp_image = NULL,
*pyramid1 = NULL, *pyramid2 = NULL;
Mat framet;
/*獲取第一幀*/
// cap >> framet;
cap.read(framet);
Mat edges;
//黑白抽象濾鏡模式
// cvtColor(framet, edges, CV_RGB2GRAY);
// GaussianBlur(edges, edges, Size(7, 7), 1.5, 1.5);
// Canny(edges, edges, 0, 30, 3);
//轉換mat格式到lpiimage格式
frame = &IplImage(framet);
if (frame == NULL)
{
fprintf(stderr, "Error: Hmm. The end came sooner than we thought.\n");
return -1;
}
/*由於opencv的光流函數處理的是8位的灰度圖,所以需要創建一個同樣格式的
IplImage的對象*/
allocateOnDemand(&frame1_1C, frame_size, IPL_DEPTH_8U, 1);
/* 把攝像頭圖像格式轉換成OpenCV慣常處理的圖像格式*/
cvConvertImage(frame, frame1_1C, 0);
/* 我們需要把具有全部顏色信息的原幀保存,以備最後在屏幕上顯示用*/
allocateOnDemand(&frame1, frame_size, IPL_DEPTH_8U, 3);
cvConvertImage(frame, frame1, 0);
/* 獲取第二幀 */
//cap >> framet;
cap.read(framet);
// cvtColor(framet, edges, CV_RGB2GRAY);
// GaussianBlur(edges, edges, Size(7, 7), 1.5, 1.5);
// Canny(edges, edges, 0, 30, 3);
frame = &IplImage(framet);
if (frame == NULL)
{
fprintf(stderr, "Error: Hmm. The end came sooner than we thought.\n");
return -1;
}
/*原理同上*/
allocateOnDemand(&frame2_1C, frame_size, IPL_DEPTH_8U, 1);
cvConvertImage(frame, frame2_1C, 0);
/*********************************************************
開始shi-Tomasi演算法,該演算法主要用於feature selection,即一張圖中哪些是我
們感興趣需要跟蹤的點(interest point)
input:
* "frame1_1C" 輸入圖像.
* "eig_image" and "temp_image" 只是給該演算法提供可操作的內存區域.
* 第一個".01" 規定了特徵值的最小質量,因為該演算法要得到好的特徵點,哪就
需要一個選擇的閾值
* 第二個".01" 規定了像素之間最小的距離,用於減少運算復雜度,當然也一定
程度降低了跟蹤精度
* "NULL" 意味著處理整張圖片,當然你也可以指定一塊區域
output:
* "frame1_features" 將會包含fram1的特徵值
* "number_of_features" 將在該函數中自動填充上所找到特徵值的真實數目,
該值<= 400
**********************************************************/
/*開始准備該演算法需要的輸入*/
/* 給eig_image,temp_image分配空間*/
allocateOnDemand(&eig_image, frame_size, IPL_DEPTH_32F, 1);
allocateOnDemand(&temp_image, frame_size, IPL_DEPTH_32F, 1);
/* 定義存放frame1特徵值的數組,400隻是定義一個上限 */
CvPoint2D32f frame1_features[400];
int number_of_features = 400;
/*開始跑shi-tomasi函數*/
cvGoodFeaturesToTrack(frame1_1C, eig_image, temp_image,
frame1_features, &number_of_features, .01, .01, NULL);
/**********************************************************
開始金字塔Lucas Kanade光流法,該演算法主要用於feature tracking,即是算出
光流,並跟蹤目標。
input:
* "frame1_1C" 輸入圖像,即8位灰色的第一幀
* "frame2_1C" 第二幀,我們要在其上找出第一幀我們發現的特徵點在第二幀
的什麼位置
* "pyramid1" and "pyramid2" 是提供給該演算法可操作的內存區域,計算中間
數據
* "frame1_features" 由shi-tomasi演算法得到的第一幀的特徵點.
* "number_of_features" 第一幀特徵點的數目
* "optical_flow_termination_criteria" 該演算法中迭代終止的判別,這里是
epsilon<0.3,epsilon是兩幀中對應特徵窗口的光度之差的平方,這個以後的文
章會講
* "0" 這個我不知道啥意思,反正改成1就出不來光流了,就用作者原話解釋把
means disable enhancements. (For example, the second array isn't
pre-initialized with guesses.)
output:
* "frame2_features" 根據第一幀的特徵點,在第二幀上所找到的對應點
* "optical_flow_window" lucas-kanade光流演算法的運算窗口,具體lucas-kanade
會在下一篇詳述
* "5" 指示最大的金字塔層數,0表示只有一層,那就是沒用金字塔演算法
* "optical_flow_found_feature" 用於指示在第二幀中是否找到對應特徵值,
若找到,其值為非零
* "optical_flow_feature_error" 用於存放光流誤差
**********************************************************/
/*開始為pyramid lucas kanade光流演算法輸入做准備*/
CvPoint2D32f frame2_features[400];
/* 該數組相應位置的值為非零,如果frame1中的特徵值在frame2中找到 */
char optical_flow_found_feature[400];
/* 數組第i個元素表對應點光流誤差*/
float optical_flow_feature_error[400];
/*lucas-kanade光流法運算窗口,這里取3*3的窗口,可以嘗試下5*5,區別就是5*5
出現aperture problem的幾率較小,3*3運算量小,對於feature selection即shi-tomasi演算法來說足夠了*/
CvSize optical_flow_window = cvSize(5, 5);
// CvSize optical_flow_window = cvSize(5, 5);
/* 終止規則,當完成20次迭代或者當epsilon<=0.3,迭代終止,可以嘗試下別的值*/
CvTermCriteria optical_flow_termination_criteria= cvTermCriteria(CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 20, .3);
/*分配工作區域*/
allocateOnDemand(&pyramid1, frame_size, IPL_DEPTH_8U, 1);
allocateOnDemand(&pyramid2, frame_size, IPL_DEPTH_8U, 1);
/*開始跑該演算法*/
cvCalcOpticalFlowPyrLK(frame1_1C, frame2_1C, pyramid1, pyramid2,frame1_features, frame2_features, number_of_features,
optical_flow_window, 5, optical_flow_found_feature,optical_flow_feature_error, optical_flow_termination_criteria, 0);
/*畫光流場,畫圖是依據兩幀對應的特徵值,
這個特徵值就是圖像上我們感興趣的點,如邊緣上的點P(x,y)*/
for (int i = 0; i< number_of_features; i++)
{
/* 如果沒找到對應特徵點 */
if (optical_flow_found_feature[i] == 0)
continue;
int line_thickness;
line_thickness = 1;
/* CV_RGB(red, green, blue) is the red, green, and blue components
* of the color you want, each out of 255.
*/
CvScalar line_color;
line_color = CV_RGB(255, 0, 0);
/*畫箭頭,因為幀間的運動很小,所以需要縮放,不然看不見箭頭,縮放因子為3*/
CvPoint p, q;
p.x = (int)frame1_features[i].x;
p.y = (int)frame1_features[i].y;
q.x = (int)frame2_features[i].x;
q.y = (int)frame2_features[i].y;
double angle;
angle = atan2((double)p.y - q.y, (double)p.x - q.x);
double hypotenuse;
hypotenuse = sqrt(square(p.y - q.y) + square(p.x - q.x));
/*執行縮放*/
q.x = (int)(p.x - 5 * hypotenuse * cos(angle));
q.y = (int)(p.y - 5 * hypotenuse * sin(angle));
/*畫箭頭主線*/
/* "frame1"要在frame1上作畫.
* "p" 線的開始點.
* "q" 線的終止點.
* "CV_AA" 反鋸齒.
* "0" 沒有小數位.
*/
cvLine(frame1, p, q, line_color, line_thickness, CV_AA, 0);
/* 畫箭的頭部*/
p.x = (int)(q.x + 9 * cos(angle + pi / 4));
p.y = (int)(q.y + 9 * sin(angle + pi / 4));
cvLine(frame1, p, q, line_color, line_thickness, CV_AA, 0);
p.x = (int)(q.x + 9 * cos(angle - pi / 4));
p.y = (int)(q.y + 9 * sin(angle - pi / 4));
cvLine(frame1, p, q, line_color, line_thickness, CV_AA, 0);
}
/*顯示圖像*/
/*創建一個名為optical flow的窗口,大小自動改變*/
cvNamedWindow("Optical Flow", CV_WINDOW_NORMAL);
cvFlip(frame1, NULL, 2);
cvShowImage("Optical Flow", frame1);
/*延時,要不放不了*/
cvWaitKey(33);
/*寫入到文件中去*/
// cv::Mat m = cv::cvarrToMat(frame1);//轉換lpimgae到mat格式
// writer << m;//opencv3.0 version writer
}
cap.release();
cvWaitKey(33);
system("pause");
}
❺ 質數OR合數
素性檢驗一般是比較復雜的演算法,它是演算法數論領域的重要專題。常用的有Miller-Rabin偽素數檢驗法(利用Wilson定理,有一定誤差),還有一些利用代數曲線理論的方法。對一些特殊類型的素數,如Mersenne素數,還有其他更高效的演算法,如Lucas-Lehmer方法。當然,完成具體的計算工作都是利用計算機。
具體的方法最好是查考有關的專著。這里給幾個鏈接:
Rabin-Miller法的英文介紹:
http://en.wikipedia.org/wiki/Miller-Rabin_primality_test
其他類似的一些偽素數檢驗法(中文):
http://www.yuanma.org/data/2007/0618/article_2687.htm
Lucas-Lehmer法的英文和中文(簡略)介紹:
http://en.wikipedia.org/wiki/Lucas%E2%80%93Lehmer_test_for_Mersenne_numbers
http://zh.wikipedia.org/w/index.php?title=%E5%8D%A2%E5%8D%A1%E6%96%AF-%E8%8E%B1%E9%BB%98%E6%A3%80%E9%AA%8C%E6%B3%95&variant=zh-cn
❻ Miller Rabin演算法的演算法比較
Miller-Rabin演算法在基於Fermat定理的演算法中是最優秀的,無論從誤判概率還是從速度上看,它都優於其它 Fermat 類演算法,例如 : Fermat 演算法 、 Lehmann 演算法、 Solovay- Strassen演算法等。Lucas 測試是Pomerance、Selfridge 和 Wagstaff 提出的一種基於Lucas序列的概率素數測試演算法,該演算法一輪消耗的 時間大概相當於6輪Miller-Rabin測試。一輪Lucas 的誤判概率 為4/15,該演算法經過一些改進,一輪的誤判概率達到1/8。這 種演算法在誤判概率和速度的權衡考慮上不如Miller-Rabin 演算法。Grantham-Frobenius 測 試(QFT) 是 Grantham 提出的基於 Frobenius概率素數和Frobenius強概率素數理論的演算法,給定 一組參數(b,c),誤判概率可以被控制在1/7710以下。時間復雜度是(3+O(1))log2(n)( 以模n乘法為基本操作),大概相當於3輪Miller-Rabin演算法。這種演算法理論比較艱深,目前只停留在理論研究階段,還不適合現實應用。Adams 和Shanks 提出了一種基於Perrin 序列的演算法,他們演算法的Q和I兩種情況下還沒發現偽素數,沒有考慮演算法 的速度,只是就誤判概率來進行研究,他們的工作主要是側 重數學理論研究,演算法目前還不適合現實應用。
❼ cvfitline用的什麼演算法
1、cvLoadImage:將圖像文件載入至內存;
2、cvNamedWindow:在屏幕上創建一個窗口;
3、cvShowImage:在一個已創建好的窗口中顯示圖像;
4、cvWaitKey:使程序暫停,等待用戶觸發一個按鍵操作;
5、cvReleaseImage:釋放圖像文件所分配的內存;
6、cvDestroyWindow:銷毀顯示圖像文件的窗口;
7、cvCreateFileCapture:通過參數設置確定要讀入的AVI文件;
8、cvQueryFrame:用來將下一幀文件載入內存;
9、cvReleaseCapture:釋放CvCapture結構開辟的內存空間;
10、cvCreateTrackbar:創建一個滾動條;
11、cvSetCaptureProperty:設置CvCapture對象的各種屬性;
12、cvGetCaptureProperty:查詢CvCapture對象的各種屬性;
13、cvGetSize:當前圖像結構的大小;
14、cvSmooth:對圖像進行平滑處理;
15、cvPyrDown:圖像金字塔,降采樣,圖像縮小為原來四分之一;
16、cvCanny:Canny邊緣檢測;
17、cvCreateCameraCapture:從攝像設備中讀入數據;
18、cvCreateVideoWriter:創建一個寫入設備以便逐幀將流寫入文件;
19、cvWriteFrame:逐幀將流寫入文件;
20、cvReleaseVideoWriter:釋放CvVideoWriter結構開辟的內存空間;
21、CV_MAT_ELEM:從矩陣中得到一個元素;
22、cvAbs:計算數組中所有元素的絕對值;
23、cvAbsDiff:計算兩個數組差值的絕對值;
24、cvAbsDiffS:計算數組和標量差值的絕對值;
25、cvAdd:兩個數組的元素級的加運算;
26、cvAddS:一個數組和一個標量的元素級的相加運算;
27、cvAddWeighted:兩個數組的元素級的加權相加運算(alpha運算);
28、cvAvg:計算數組中所有元素的平均值;
29、cvAvgSdv:計算數組中所有元素的絕對值和標准差;
30、cvCalcCovarMatrix:計算一組n維空間向量的協方差;
31、cvCmp:對兩個數組中的所有元素運用設置的比較操作;
32、cvCmpS:對數組和標量運用設置的比較操作;
33、cvConvertScale:用可選的縮放值轉換數組元素類型;
34、cvCopy:把數組中的值復制到另一個數組中;
35、cvCountNonZero:計算數組中非0值的個數;
36、cvCrossProct:計算兩個三維向量的向量積(叉積);
37、cvCvtColor:將數組的通道從一個顏色空間轉換另外一個顏色空間;
38、cvDet:計算方陣的行列式;
39、cvDiv:用另外一個數組對一個數組進行元素級的除法運算;
40、cvDotProct:計算兩個向量的點積;
41、cvEigenVV:計算方陣的特徵值和特徵向量;
42、cvFlip:圍繞選定軸翻轉;
43、cvGEMM:矩陣乘法;
44、cvGetCol:從一個數組的列中復制元素;
45、cvGetCols:從數據的相鄰的多列中復制元素;
46、cvGetDiag:復制數組中對角線上的所有元素;
47、cvGetDims:返回數組的維數;
48、cvGetDimSize:返回一個數組的所有維的大小;
49、cvGetRow:從一個數組的行中復制元素值;
50、cvGetRows:從一個數組的多個相鄰的行中復制元素值;
51、cvGetSize:得到二維的數組的尺寸,以CvSize返回;
52、cvGetSubRect:從一個數組的子區域復制元素值;
53、cvInRange:檢查一個數組的元素是否在另外兩個數組中的值的范圍內;
54、cvInRangeS:檢查一個數組的元素的值是否在另外兩個標量的范圍內;
55、cvInvert:求矩陣的逆;
56、cvMahalonobis:計算兩個向量間的馬氏距離;
57、cvMax:在兩個數組中進行元素級的取最大值操作;
58、cvMaxS:在一個數組和一個標量中進行元素級的取最大值操作;
59、cvMerge:把幾個單通道圖像合並為一個多通道圖像;
60、cvMin:在兩個數組中進行元素級的取最小值操作;
61、cvMinS:在一個數組和一個標量中進行元素級的取最小值操作;
62、cvMinMaxLoc:尋找數組中的最大最小值;
63、cvMul:計算兩個數組的元素級的乘積(點乘);
64、cvNot:按位對數組中的每一個元素求反;
65、cvNormalize:將數組中元素進行歸一化;
66、cvOr:對兩個數組進行按位或操作;
67、cvOrs:在數組與標量之間進行按位或操作;
68、cvRece:通過給定的操作符將二維數組簡為向量;
69、cvRepeat:以平鋪的方式進行數組復制;
70、cvSet:用給定值初始化數組;
71、cvSetZero:將數組中所有元素初始化為0;
72、cvSetIdentity:將數組中對角線上的元素設為1,其他置0;
73、cvSolve:求出線性方程組的解;
74、cvSplit:將多通道數組分割成多個單通道數組;
75、cvSub:兩個數組元素級的相減;
76、cvSubS:元素級的從數組中減去標量;
77、cvSubRS:元素級的從標量中減去數組;
78、cvSum:對數組中的所有元素求和;
79、cvSVD:二維矩陣的奇異值分解;
80、cvSVBkSb:奇異值回代計算;
81、cvTrace:計算矩陣跡;
82、cvTranspose:矩陣的轉置運算;
83、cvXor:對兩個數組進行按位異或操作;
84、cvXorS:在數組和標量之間進行按位異或操作;
85、cvZero:將所有數組中的元素置為0;
86、cvConvertScaleAbs:計算可選的縮放值的絕對值之後再轉換數組元素的類型;
87、cvNorm:計算數組的絕對范數, 絕對差分范數或者相對差分范數;
88、cvAnd:對兩個數組進行按位與操作;
89、cvAndS:在數組和標量之間進行按位與操作;
90、cvScale:是cvConvertScale的一個宏,可以用來重新調整數組的內容,並且可以將參數從一種數
據類型轉換為另一種;
91、cvT:是函數cvTranspose的縮寫;
92、cvLine:畫直線;
93、cvRectangle:畫矩形;
94、cvCircle:畫圓;
95、cvEllipse:畫橢圓;
96、cvEllipseBox:使用外接矩形描述橢圓;
97、cvFillPoly、cvFillConvexPoly、cvPolyLine:畫多邊形;
98、cvPutText:在圖像上輸出一些文本;
99、cvInitFont:採用一組參數配置一些用於屏幕輸出的基本個特定字體;
100、cvSave:矩陣保存;
101、cvLoad:矩陣讀取;
102、cvOpenFileStorage:為讀/寫打開存儲文件;
103、cvReleaseFileStorage:釋放存儲的數據;
104、cvStartWriteStruct:開始寫入新的數據結構;
105、cvEndWriteStruct:結束寫入數據結構;
106、cvWriteInt:寫入整數型;
107、cvWriteReal:寫入浮點型;
108、cvWriteString:寫入字元型;
109、cvWriteComment:寫一個XML或YAML的注釋字串;
110、cvWrite:寫一個對象;
111、cvWriteRawData:寫入多個數值;
112、cvWriteFileNode:將文件節點寫入另一個文件存儲器;
113、cvGetRootFileNode:獲取存儲器最頂層的節點;
114、cvGetFileNodeByName:在映圖或存儲器中找到相應節點;
115、cvGetHashedKey:為名稱返回一個惟一的指針;
116、cvGetFileNode:在映圖或文件存儲器中找到節點;
117、cvGetFileNodeName:返迴文件的節點名;
118、cvReadInt:讀取一個無名稱的整數型;
119、cvReadIntByName:讀取一個有名稱的整數型;
120、cvReadReal:讀取一個無名稱的浮點型;
121、cvReadRealByName:讀取一個有名稱的浮點型;
122、cvReadString:從文件節點中尋找字元串;
123、cvReadStringByName:找到一個有名稱的文件節點並返回它;
124、cvRead:將對象解碼並返回它的指針;
125、cvReadByName:找到對象並解碼;
126、cvReadRawData:讀取多個數值;
127、cvStartReadRawData:初始化文件節點序列的讀取;
128、cvReadRawDataSlice:讀取文件節點的內容;
129、cvGetMoleInfo:檢查IPP庫是否已經正常安裝並且檢驗運行是否正常;
130、cvResizeWindow:用來調整窗口的大小;
131、cvSaveImage:保存圖像;
132、cvMoveWindow:將窗口移動到其左上角為x,y的位置;
133、cvDestroyAllWindow:用來關閉所有窗口並釋放窗口相關的內存空間;
134、cvGetTrackbarPos:讀取滑動條的值;
135、cvSetTrackbarPos:設置滑動條的值;
136、cvGrabFrame:用於快速將幀讀入內存;
137、cvRetrieveFrame:對讀入幀做所有必須的處理;
138、cvConvertImage:用於在常用的不同圖像格式之間轉換;
139、cvErode:形態腐蝕;
140、cvDilate:形態學膨脹;
141、cvMorphologyEx:更通用的形態學函數;
142、cvFloodFill:漫水填充演算法,用來進一步控制哪些區域將被填充顏色;
143、cvResize:放大或縮小圖像;
144、cvPyrUp:圖像金字塔,將現有的圖像在每個維度上都放大兩倍;
145、cvPyrSegmentation:利用金字塔實現圖像分割;
146、cvThreshold:圖像閾值化;
147、cvAcc:可以將8位整數類型圖像累加為浮點圖像;
148、cvAdaptiveThreshold:圖像自適應閾值;
149、cvFilter2D:圖像卷積;
150、cvCopyMakeBorder:將特定的圖像輕微變大,然後以各種方式自動填充圖像邊界;
151、cvSobel:圖像邊緣檢測,Sobel運算元;
152、cvLaplace:拉普拉斯變換、圖像邊緣檢測;
153、cvHoughLines2:霍夫直線變換;
154、cvHoughCircles:霍夫圓變換;
155、cvRemap:圖像重映射,校正標定圖像,圖像插值;
156、cvWarpAffine:稠密仿射變換;
157、cvGetQuadrangleSubPix:仿射變換;
158、cvGetAffineTransform:仿射映射矩陣的計算;
159、cvCloneImage:將整個IplImage結構復制到新的IplImage中;
160、cv2DRotationMatrix:仿射映射矩陣的計算;
161、cvTransform:稀疏仿射變換;
162、cvWarpPerspective:密集透視變換(單應性);
163、cvGetPerspectiveTransform:計算透視映射矩陣;
164、cvPerspectiveTransform:稀疏透視變換;
165、cvCartToPolar:將數值從笛卡爾空間到極坐標(極性空間)進行映射;
166、cvPolarToCart:將數值從極性空間到笛卡爾空間進行映射;
167、cvLogPolar:對數極坐標變換;
168、cvDFT:離散傅里葉變換;
169、cvMulSpectrums:頻譜乘法;
170、cvDCT:離散餘弦變換;
171、cvIntegral:計算積分圖像;
172、cvDistTransform:圖像的距離變換;
173、cvEqualizeHist:直方圖均衡化;
174、cvCreateHist:創建一新直方圖;
175、cvMakeHistHeaderForArray:根據已給出的數據創建直方圖;
176、cvNormalizeHist:歸一化直方圖;
177、cvThreshHist:直方圖閾值函數;
178、cvCalcHist:從圖像中自動計算直方圖;
179、cvCompareHist:用於對比兩個直方圖的相似度;
180、cvCalcEMD2:陸地移動距離(EMD)演算法;
181、cvCalcBackProject:反向投影;
182、cvCalcBackProjectPatch:圖塊的方向投影;
183、cvMatchTemplate:模板匹配;
184、cvCreateMemStorage:用於創建一個內存存儲器;
185、cvCreateSeq:創建序列;
186、cvSeqInvert:將序列進行逆序操作;
187、cvCvtSeqToArray:復制序列的全部或部分到一個連續內存數組中;
188、cvFindContours:從二值圖像中尋找輪廓;
189、cvDrawContours:繪制輪廓;
190、cvApproxPoly:使用多邊形逼近一個輪廓;
191、cvContourPerimeter:輪廓長度;
192、cvContoursMoments:計算輪廓矩;
193、cvMoments:計算Hu不變矩;
194、cvMatchShapes:使用矩進行匹配;
195、cvInitLineIterator:對任意直線上的像素進行采樣;
196、cvSampleLine:對直線采樣;
197、cvAbsDiff:幀差;
198、cvWatershed:分水嶺演算法;
199、cvInpaint:修補圖像;
200、cvGoodFeaturesToTrack:尋找角點;
201、cvFindCornerSubPix:用於發現亞像素精度的角點位置;
202、cvCalcOpticalFlowLK:實現非金字塔的Lucas-Kanade稠密光流演算法;
203、cvMeanShift:mean-shift跟蹤演算法;
204、cvCamShift:camshift跟蹤演算法;
205、cvCreateKalman:創建Kalman濾波器;
206、cvCreateConDensation:創建condensation濾波器;
207、cvConvertPointsHomogenious:對齊次坐標進行轉換;
208、cvFindChessboardCorners:定位棋盤角點;
209、cvFindHomography:計算單應性矩陣;
210、cvRodrigues2:羅德里格斯變換;
211、cvFitLine:直線擬合演算法;
212、cvCalcCovarMatrix:計算協方差矩陣;
213、cvInvert:計算協方差矩陣的逆矩陣;
214、cvMahalanobis:計算Mahalanobis距離;
215、cvKMeans2:K均值;
216、cvCloneMat:根據一個已有的矩陣創建一個新矩陣;
217、cvPreCornerDetect:計算用於角點檢測的特徵圖;
218、cvGetImage:CvMat圖像數據格式轉換成IplImage圖像數據格式;
219、cvMatMul:兩矩陣相乘;
❽ 什麼是帝國主義的競爭演算法
一、定義:帝國競爭演算法(imperialist competitive algorithm, ICA )是一種受帝國競爭行為啟發的新的智能優化演算法,它與粒子群優化(PSO)、蟻群(BCO)等演算法一樣,都屬於基於群體的隨機優化搜索演算法。
二、詳細介紹:
受帝國主義殖民競爭機制的啟發,Atashpaz-Gargari和Lucas於2007年提出了一種新的智能優化演算法—帝國競爭演算法 (ICA)。與GA, PSO, ABC等受生物行為啟發的群智能演算法不同,ICA受社會行為啟發,通過摸擬殖民地同化機制和帝國競爭機制而形成的一種優化方法。ICA也是一種基於群體的優化方法,其解空間由稱為國家的個體組成。ICA將國家分為幾個子群,稱為帝國。在每個帝國內,ICA通過同化機制使非最優的國家(殖民地)向最優國家(帝國主義國家)靠近,該過程類似於PSO。帝國競爭機制是ICA的關鍵,ICA通過帝國競爭機制將最弱帝國中的一個或多個殖民地移動到其他帝國,使帝國之間可以進行信息交互。
目前,國外已有許多學者對ICA的性能改進以及實際應用進行了大量的研究,也取得了一定的進展。ICA已被廣泛用於解決各種實際的優化問題,如調度問題、分類問題、機械設計等。然而,該演算法仍然存在多樣性下降較快、易早熟收斂等缺陷。另外,ICA提出的時間較短,尚有很大的研究空間。
三、優點:
帝國競爭演算法與PSO, GA相比,收斂速度快、收斂精度高,具有較強的全局收斂性。演算法利用殖民地向帝國主義國家移動進行局部搜索,即在較優區域內進行大力度開采,保證了演算法的局部搜索能力。同時,帝國競爭操作使帝國內的殖民地可以向其他帝國移動,突破了原來的搜索范圍,增加了種群多樣性,在一定程度上起到克服「早熟」現象的作用。此外,帝國合並操作大大加快了演算法的收斂速度,對於低維度優化問題,具有較明顯的優勢。
四、存在的問題:
群智能優化演算法的「開采」和「勘探」能力是互相制約的,「開采」能力較強時,群體的多樣性會受影響,而「勘探」能力較強則演算法的全局收斂速度會變慢。原始的ICA演算法還不能很好地平衡這兩點,其局部搜索能力較強,收斂速度快,因此優化高維多模問題時,容易陷入局部最優。
帝國合並以及帝國覆滅使ICA的帝國個數不斷減少,導致群體多樣性降低,演算法的全局「勘探」能力受影響,易出現「早熟」現象。
帝國競爭操作體現了帝國之間的信息交互,然而,帝國競爭在每一次迭代中只是將最弱的殖民地歸於最強的帝國,該過程對每個帝國的勢力大小影響很小,需要多次迭代才能體現出來,帝國之間缺乏更有效的信息交互,即群體多樣性的體現並不明顯。
❾ 把「一個數開根號」化成一定精度以內「盡可能近似的分式」
採用連分數方法:
易見xx-2x-1=0的正實根為1+root2.
變形得:x=2+1/x (*)
即1+root2=2+1/(2+1/x)=...(將*迭代得到連分數)
在數論上,一般記為:root2=[1;2,2,2,...]
當然也可以構造二次方程使之二根為共軛根式a士b*root2,得到其連分數x,計算出x的小數值,然後由a士b*root2=x反推出root2.
對於連分數的計算,我將他與Lucas序列,輾轉相除法,等等相關演算法統一起來,給出了基於矩陣的演算法,可惜我不通數學軟體編程,不能給出你所需要的數值。
這種方法可以達成您的要求。
另外,也可以用牛頓迭代法求,不過這種方法不能保證求得分母最接近10^12的分式。
❿ 金融學前沿課題
我是一個理財師,對於金融方面的知識還是比較了解一些的,而且我自己也是金融學專業的人,我們的金融學,比較前沿的課題有下面幾個,希望大家可以參考:
第一、金融模型的研究是一個比較困難的前沿學科,對於經濟和金融的數據化分析要求十分的高,特別是金融模型,必須在數學基礎上開始建立自己的研究項目,這點要求金融學的人,必須有極高的數學素養。
第二、金融貨幣推理,這是一種對於貨幣分析的前沿研究,難度比較大,而且現在的研究范圍還比較小,所以要求專業性極強,特別是對於貨幣知識,要求有一定的專門實際操作的經驗,這點來說難度很大。
第三、金融衍生品的學術研究,是金融專業裡面實用的專業,也是比較前沿的專業,金融衍生品有很多類型,比如期權期貨互換之類,要求研究的人專業性比較強,同時具備一定的實際知識。
第四、金融的資金融通,是一個研究的最前沿,也是現在國際和國內比較關注的一個研究課題,不過這類研究范圍很大,幾乎涵蓋所以的金融轉換,所以研究的人必須具備極高的金融學和經濟學基礎。
第五、金融服務研究,這類研究是最近十幾年開始的一個研究課題,主要是對於金融行業繼續深化服務品質的一種研究,提高金融效率的一種研究。
上的這些研究的課題,對於金融專業來說,是最前沿的研究項目,其復雜程度很高,所以金融專業的人,要研究這些課題需要付出極大的努力,而且要有一種毅力,我在這方面有一定接觸,所以希望開始研究的朋友們,把自己的精力全部的集中起來,這樣才可以真正的做好研究工作!