第一篇:LM算法小結(jié)
Matlab代碼部分:
在matlab2011等以上版本中使用LM算法,請進行修改: ? homography2d1.m中,修改:options = optimset('LargeScale','off','LevenbergMarquardt','on');改為:options=optimset('LargeScale','off','Algorithm','levenberg-marquardt');? zhang.m中,修改:options = optimset('Display','iter','LargeScale','off','LevenbergMarquardt','on');改為:
Options=optimset('Display','iter','LargeScale','off','Algorithm','levenberg-marquardt');
第二篇:增量式PID算法小結(jié)
增量式PID算法小結(jié)
一、PID 算法簡介
顧名思義,P 指是比例(Proportion),I 指是積分(Integral),D 指微分(Differential)。比例P:比例控制是一種最簡單的控制方式。其控制器的輸出與輸入誤差信號成比例關(guān)系。偏差一旦產(chǎn)生,控制器立即就發(fā)生作用即調(diào)節(jié)控制輸出,使被控量朝著減小偏差的方向變化,偏差減小的速度取決于比例系數(shù)Kp,Kp越大偏差減小的越快,但是很容易引起振蕩,尤其是在遲滯環(huán)節(jié)比較大的情況下,Kp減小,發(fā)生振蕩的可能性減小但是調(diào)節(jié)速度變慢。但單純的比例控制存在穩(wěn)態(tài)誤差不能消除的缺點。這里就需要積分控制。
積分 I:在積分控制中,控制器的輸出與輸入誤差信號的積分成正比關(guān)系。對一個自動控制系統(tǒng),如果在進入穩(wěn)態(tài)后存在穩(wěn)態(tài)誤差,則稱這個控制系統(tǒng)是有穩(wěn)態(tài)誤差的或簡稱有差系統(tǒng)。為了消除穩(wěn)態(tài)誤差,在控制器中必須引入“積分項”。積分項對誤差取決于時間的積分,隨著時間的增加,積分項會增大。這樣,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩(wěn)態(tài)誤差進一步減小,直到等于零。因此,比例+積分(PI)控制器,可以使系統(tǒng)在進入穩(wěn)態(tài)后無穩(wěn)態(tài)誤差。實質(zhì)就是對偏差累積進行控制,直至偏差為零。積分控制作用始終施加指向給定值的作用力,有利于消除靜差,其效果不僅與偏差大小有關(guān),而且還與偏差持續(xù)的時間有關(guān)。簡單來說就是把偏差積累起來,一起算總帳。
微分 D:在微分控制中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關(guān)系。自動控制系統(tǒng)在克服誤差的調(diào)節(jié)過程中可能會出現(xiàn)振蕩甚至失穩(wěn)。其原因是由于存在有較大慣性組件(環(huán)節(jié))或有滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差的作用的變化“超前”,即在誤差接近零時,抑制誤差的作用就應(yīng)該是零。這就是說,在控制器中僅引入“比例”項往往是不夠的,比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預(yù)測誤差變化的趨勢,這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負(fù)值,從而避免了被控量的嚴(yán)重超調(diào)。所以對有較大慣性或滯后的被控對象,比例+微分(PD)控制器能改善系統(tǒng)在調(diào)節(jié)過程中的動態(tài)特性。
它能敏感出誤差的變化趨勢,可在誤差信號出現(xiàn)之前就起到修正誤差的作用,有利于提高輸出響應(yīng)的快速性,減小被控量的超調(diào)和增加系統(tǒng)的穩(wěn)定性。但微分作用很容易放大高頻噪聲,降低系統(tǒng)的信噪比,從而使系統(tǒng)抑制干擾的能力下降。
增量式PID算法: Ki=Kp*Ts/Ti;Kd=Kp*Td/Ts;Kp為比例項系數(shù) ;Ki為積分項系數(shù) ;Kd為微分項系數(shù);Ti為積分時間常數(shù);Td為微分時間常數(shù) ;Ts 為采樣周期常數(shù) 上述公式進一步推倒:
Δu(k)= Ka * e(k)+ Kb * e(k-1)+ Kc * e(k-2);Ka=Kp*(1+Ts/Ti+ Td/Ts)Kb=(-1)*(Kp)*(1+2Td/TS)Kc=Kp*(Td/TS)代碼如下:
float PID_Dispose(flaot D_value){ static flaot Ek = 0;static flaot Ek_1 = 0;static flaot Ek_2 = 0;Ek_2 = Ek_1;Ek_1 = Ek;Ek = D_value;return((float)(Ka*Ek + Kb*Ek_1 +Kc*Ek_2));} D_value定義為float 類型(據(jù)情況而定),此變量是設(shè)定值與系統(tǒng)輸出量的差值。PID 調(diào)試一般原則
a.在輸出不振蕩時,增大比例增益 P。b.在輸出不振蕩時,減小積分時間常數(shù) Ti。c.輸出不振蕩時,增大微分時間常數(shù) Td。
第三篇:18大經(jīng)典數(shù)據(jù)挖掘算法小結(jié)
18大經(jīng)典數(shù)據(jù)挖掘算法小結(jié)
2015-03-05 CSDN大數(shù)據(jù) CSDN大數(shù)據(jù)
csdnbigdataCSDN分享Hadoop、Spark、NoSQL/NewSQL、HBase、Impala、內(nèi)存計算、流計算、機器學(xué)習(xí)和智能算法等相關(guān)大數(shù)據(jù)觀點,提供云計算和大數(shù)據(jù)技術(shù)、平臺、實踐和產(chǎn)業(yè)信息等服務(wù)。本文所有涉及到的數(shù)據(jù)挖掘代碼的都放在了github上了。
地址鏈接: https://github.com/linyiqun/DataMiningAlgorithm 大概花了將近2個月的時間,自己把18大數(shù)據(jù)挖掘的經(jīng)典算法進行了學(xué)習(xí)并且進行了代碼實現(xiàn),涉及到了決策分類,聚類,鏈接挖掘,關(guān)聯(lián)挖掘,模式挖掘等等方面。也算是對數(shù)據(jù)挖掘領(lǐng)域的小小入門了吧。下面就做個小小的總結(jié),后面都是我自己相應(yīng)算法的博文鏈接,希望能夠幫助大家學(xué)習(xí)。
1.C4.5算法。C4.5算法與ID3算法一樣,都是數(shù)學(xué)分類算法,C4.5算法是ID3算法的一個改進。ID3算法采用信息增益進行決策判斷,而C4.5采用的是增益率。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42395865 2.CART算法。CART算法的全稱是分類回歸樹算法,他是一個二元分類,采用的是類似于熵的基尼指數(shù)作為分類決策,形成決策樹后之后還要進行剪枝,我自己在實現(xiàn)整個算法的時候采用的是代價復(fù)雜度算法,詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42558235 3.KNN(K最近鄰)算法。給定一些已經(jīng)訓(xùn)練好的數(shù)據(jù),輸入一個新的測試數(shù)據(jù)點,計算包含于此測試數(shù)據(jù)點的最近的點的分類情況,哪個分類的類型占多數(shù),則此測試點的分類與此相同,所以在這里,有的時候可以復(fù)制不同的分類點不同的權(quán)重。近的點的權(quán)重大點,遠的點自然就小點。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42613011 4.Naive Bayes(樸素貝葉斯)算法。樸素貝葉斯算法是貝葉斯算法里面一種比較簡單的分類算法,用到了一個比較重要的貝葉斯定理,用一句簡單的話概括就是條件概率的相互轉(zhuǎn)換推導(dǎo)。詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42680161 5.SVM(支持向量機)算法。支持向量機算法是一種對線性和非線性數(shù)據(jù)進行分類的方法,非線性數(shù)據(jù)進行分類的時候可以通過核函數(shù)轉(zhuǎn)為線性的情況再處理。其中的一個關(guān)鍵的步驟是搜索最大邊緣超平面。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42780439 6.EM(期望最大化)算法。期望最大化算法,可以拆分為2個算法,1個E-Step期望化步驟,和1個M-Step最大化步驟。他是一種算法框架,在每次計算結(jié)果之后,逼近統(tǒng)計模型參數(shù)的最大似然或最大后驗估計。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42921789 7.Apriori算法。Apriori算法是關(guān)聯(lián)規(guī)則挖掘算法,通過連接和剪枝運算挖掘出頻繁項集,然后根據(jù)頻繁項集得到關(guān)聯(lián)規(guī)則,關(guān)聯(lián)規(guī)則的導(dǎo)出需要滿足最小置信度的要求。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43059211 8.FP-Tree(頻繁模式樹)算法。這個算法也有被稱為FP-growth算法,這個算法克服了Apriori算法的產(chǎn)生過多侯選集的缺點,通過遞歸的產(chǎn)生頻度模式樹,然后對樹進行挖掘,后面的過程與Apriori算法一致。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43234309 9.PageRank(網(wǎng)頁重要性/排名)算法。PageRank算法最早產(chǎn)生于Google,核心思想是通過網(wǎng)頁的入鏈數(shù)作為一個網(wǎng)頁好快的判定標(biāo)準(zhǔn),如果1個網(wǎng)頁內(nèi)部包含了多個指向外部的鏈接,則PR值將會被均分,PageRank算法也會遭到Link Span攻擊。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43311943 10.HITS算法。HITS算法是另外一個鏈接算法,部分原理與PageRank算法是比較相似的,HITS算法引入了權(quán)威值和中心值的概念,HITS算法是受用戶查詢條件影響的,他一般用于小規(guī)模的數(shù)據(jù)鏈接分析,也更容易遭受到攻擊。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43311943 11.K-Means(K均值)算法。K-Means算法是聚類算法,k在在這里指的是分類的類型數(shù),所以在開始設(shè)定的時候非常關(guān)鍵,算法的原理是首先假定k個分類點,然后根據(jù)歐式距離計算分類,然后去同分類的均值作為新的聚簇中心,循環(huán)操作直到收斂。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43373159 12.BIRCH算法。BIRCH算法利用構(gòu)建CF聚類特征樹作為算法的核心,通過樹的形式,BIRCH算法掃描數(shù)據(jù)庫,在內(nèi)存中建立一棵初始的CF-樹,可以看做數(shù)據(jù)的多層壓縮。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43532111 13.AdaBoost算法。AdaBoost算法是一種提升算法,通過對數(shù)據(jù)的多次訓(xùn)練得到多個互補的分類器,然后組合多個分類器,構(gòu)成一個更加準(zhǔn)確的分類器。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43635115 14.GSP算法。GSP算法是序列模式挖掘算法。GSP算法也是Apriori類算法,在算法的過程中也會進行連接和剪枝操作,不過在剪枝判斷的時候還加上了一些時間上的約束等條件。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43699083 15.PreFixSpan算法。PreFixSpan算法是另一個序列模式挖掘算法,在算法的過程中不會產(chǎn)生候選集,給定初始前綴模式,不斷的通過后綴模式中的元素轉(zhuǎn)到前綴模式中,而不斷的遞歸挖掘下去。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43766253 16.CBA(基于關(guān)聯(lián)規(guī)則分類)算法。CBA算法是一種集成挖掘算法,因為他是建立在關(guān)聯(lián)規(guī)則挖掘算法之上的,在已有的關(guān)聯(lián)規(guī)則理論前提下,做分類判斷,只是在算法的開始時對數(shù)據(jù)做處理,變成類似于事務(wù)的形式。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43818787 17.RoughSets(粗糙集)算法。粗糙集理論是一個比較新穎的數(shù)據(jù)挖掘思想。這里使用的是用粗糙集進行屬性約簡的算法,通過上下近似集的判斷刪除無效的屬性,進行規(guī)制的輸出。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43876001 18.gSpan算法。gSpan算法屬于圖挖掘算法領(lǐng)域。,主要用于頻繁子圖的挖掘,相較于其他的圖算法,子圖挖掘算法是他們的一個前提或基礎(chǔ)算法。gSpan算法用到了DFS編碼,和Edge五元組,最右路徑子圖擴展等概念,算法比較的抽象和復(fù)雜。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43924273
第四篇:LM家具市場調(diào)研報告
自從2011年7月初被央視曝光以來,“造假門”事件使得達芬奇家具數(shù)十年來打造的進口家具高端品牌的大廈轟然倒塌。這坍塌的不僅僅是達芬奇家居這個品牌,還有進口家具在消費者心目中的誠信風(fēng)向牌。這事件短時間內(nèi)會讓消費者持觀望態(tài)度,對銷售會產(chǎn)生一定影響,但是從長遠來看,這也將對整個家具行業(yè)起到規(guī)范作用?!斑_芬奇家居事件”對于高端家具行業(yè),尤其是進口家具行業(yè)來說是一個警醒,更是一種契機。進口家具品牌在中國的發(fā)展現(xiàn)狀、誠信危機時代、面對市場的不景氣、和對于高端家具市場的不信任雙重壓力之下,我們該采取哪些措施?
一、無論是與設(shè)計師的合作、還是與房地產(chǎn)商的合作,或者是對國外品牌的代理,都是商業(yè)的一種手段,最終還是為了成就自己的品牌價值。
二、在一些“偽進口”品牌誠信缺失的時候,那些真正的純進口品牌反而在市場上容易突出自己的品牌特點。
三、在這樣的特殊時期,每個公司都集中著手于革新創(chuàng)造從而開辟新市場以減少未知的影響和損失,流程和產(chǎn)品的革新也是極其重要的。
四、中國是一個擁有著全球最大消費力和消費品質(zhì)的新興市場,近年來,中國優(yōu)質(zhì)的消費群體正以一種創(chuàng)造性的消費能力改變著全球?qū)χ袊袌龅闹匦露ㄎ慌c認(rèn)知。
五、品牌推廣計劃前置性,和國內(nèi)的企業(yè)市場操作策略不同的是,國外品牌往往比較注重在前期的宣傳和推廣活動,這些都是為品牌塑造服務(wù)的,我們的市場策略是將重點放在鞏固主要市場的銷售,同時著
重于品牌的推廣,致力于帶給中國消費者意大利品質(zhì)和令人難忘的服務(wù)及體驗。
面對進口家具業(yè)日漸增多,我公司目前存在的問題如下:
一、家具代理品牌較少,不能滿足各類家居裝修的需求。
二、獨立旗艦店裝修風(fēng)格、家具擺放、燈光設(shè)施等,能夠體現(xiàn)高端產(chǎn)品的定位。
三、除了價格因素之外,還有就是銷售方式的一成不變,我們現(xiàn)在在市場上看到更多的賣家僅僅是在賣家具,而不是傳遞生活方式,而后者必然是未來的趨勢所在。
四、國外品牌往往比較注重在前期的宣傳和推廣活動,這些都是為品牌塑造服務(wù)的,我們的市場策略是將重點放在鞏固主要市場的銷售,同時著重于品牌的推廣,致力于帶給中國消費者意大利品質(zhì)和令人難忘的服務(wù)及體驗。
第五篇:四線電阻觸摸屏校準(zhǔn)算法小結(jié)
四線電阻觸摸屏校準(zhǔn)算法的實現(xiàn)
(一)四線電阻屏的觸摸板坐標(biāo)和屏坐標(biāo)有如下關(guān)系: X0 = xfac * X + xoff;Y0 = yfac * Y + yoff;其中X0,Y0是屏的物理坐標(biāo),xfac,yfac為x,y方向的比例因子,xoff,yoff為x,y方向的偏移 量.既然說到了校準(zhǔn),那么這四個量肯定是不變的,所以我們可以用至少兩個屏的物理坐標(biāo)點就 可算出這四個量,也即是兩點校準(zhǔn)法,由于按下屏后讀出的是X,Y值,而校準(zhǔn)時用的X0,Y0 也是已知的,那么就是解四元一次方程組了,算法如下:
(X1,Y1)和(X2,Y2)是用于校準(zhǔn)時屏上顯示的兩個點,這兩個點的坐標(biāo)必須不一樣,是已知的;(x1,y1)和(x2,y2)是校準(zhǔn)時讀取的被按下的兩點的觸摸板坐標(biāo)值;有如下方程組:
X1 = xfac * x1 + xoff;// 1 Y1 = yfac * y1 + yoff;// 2 X2 = xfac * x2 + xoff;// 3 Y2 = yfac * y2 + yoff;// 4 解得:-1 得xfac =(X2-X1)/(x2-x1);//得到x軸方向的比例因子 + 1 得xoff = [(X2 + X1)-xfac(x2 + x1)]/2;//得到x軸方向的偏移量 4-2 得yfac =(Y2-Y1)/(y2-y1);
//得到y(tǒng)軸方向的比例因子 4 + 2 得yoff = [(Y2 + Y1)-yfac(y2 + y1)]/2;//得到y(tǒng)軸方向的偏移量
OK!所謂的三點觸摸校準(zhǔn),四點觸摸校準(zhǔn)只不過是加了可靠的濾波算法,因為觸摸筆和屏 的接觸不是很準(zhǔn)確的!而像素點是很小的,所以通常都用四點校準(zhǔn),而且經(jīng)驗證這此算法是 必須加的,否則很不準(zhǔn),參見STM32學(xué)習(xí)筆記相關(guān)實驗實驗例程,已驗證通過理論知識: * 觸摸屏實際是在普通的lcd 上貼了一個觸摸膜, 沒有原生的觸摸屏 校準(zhǔn)公式
X液晶= ax + by + c
x,y是觸摸屏 Y液晶= dx + ey + d 公式原理
X,Y的公司類似, 這里就已X液晶的公式為例 先說a 首先, 液晶和觸摸膜的分辨率通常是不一樣的, 如液晶分辨率640*480, 觸摸膜分辨率 1024 * 768, 則這時就需要把 觸摸膜的分辨率 乘一個系數(shù)才和液晶分辨率對應(yīng), 這里 就是ax中的a, 這里a = 640 / 1024 = 0.625 再說c 由于安裝的機械問題, 可能有水平的平移, 這里就是c 最后說b 一開始還以為公式錯了, 為什么x的東西還有y的事, 原理還是安裝機械的問題, 若膜和lcd 安裝有一定的傾斜角度y就不是0了 計算abcdef參數(shù)
對應(yīng)abc和def來說是獨立的, 類似的, 下面以計算abc為例
有3個未知數(shù)abc,顯然需要3個方程 M[0] = A * x[0] + B * y[0] + C M[1] = A * x[1] + B * y[1] + C M[2] = A * x[2] + B * y[2] + C M[0]~M[2]代表lcd 的坐標(biāo), x[0]~x[2], y[0]~y[2]是觸摸膜坐標(biāo)
這3個點不能在同一條直線上, 在校準(zhǔn)過程中, 在源代碼中給M[0]~M[2]賦值, 然后x[0]等是
從驅(qū)動讀數(shù),最后解方程即可 最后abc表達式, F=(Xt[0]-Xt[2])*(Yt[1]-Yt[2])-(Xt[1]-Xt[2])*(Yt[0]-Yt[2]);//計算參數(shù)
A=(Xd0-Xd2)*(Yt[1]-Yt[2])-(Xd1-Xd2)*(Yt[0]-Yt[2]);B=(Xt[0]-Xt[2])*(Xd1-Xd2)-(Xd0-Xd2)*(Xt[1]-Xt[2]);C=Yt[0]*(Xt[2]*Xd1-Xt[1]*Xd2)+Yt[1]*(Xt[0]*Xd2-Xt[2]*Xd0)+Yt[2]*(Xt[1]*Xd0-Xt[0]*Xd1);D=(Yd0-Yd2)*(Yt[1]-Yt[2])-(Yd1-Yd2)*(Yt[0]-Yt[2]);E=(Xt[0]-Xt[2])*(Yd1-Yd2)-(Yd0-Yd2)*(Xt[1]-Xt[2]);F=Yt[0]*(Xt[2]*Yd1-Xt[1]*Yd2)+ Yt[1]*(Xt[0]*Yd2-Xt[2]*Yd0)+ Yt[2]*(Xt[1]*Yd0-Xt[0]*Yd1);
2012-8-9