只能模糊演算法
① 把圖像變模糊的演算法一般是怎樣實現的
第一步:先復制背景圖層。第二步:濾鏡——模糊——高斯模糊(數值大小跟據你想要的效果定)第三步:為復制北影圖層添加蒙版,再用畫筆工具擦出你想要的清楚的地方!
② 求模糊控制演算法,匯編語言編寫的,關於溫度控制的!感謝
模糊控制比較常用的兩種演算法;普通模糊控制演算法,模糊PID控制演算法
普通模糊控制演算法:建立在人工經驗知識的基礎上,需要明確控制要求,並結合人工控制經驗,然後才可以做出實用的模糊控制演算法。雖然有很多樣板經驗表可以使用,但還需要根據實際控制對象做些修改,才可使用。
模糊PID控制演算法:對人工經驗要求的比較少,但需要結合PID控制經驗和現場試驗數據,才能做出好的控制演算法。
編程原理:只講普通模糊控制演算法,模糊PID自己去找資料,模糊PID太容易實現,故不再贅述。
下面一至六步,我只說了一些計算過程,它們可以使用matlab完成,實現起來比較簡單,只把matlab計算得到的表格放到模糊控製程序里即可,也就是說藉助matlab編寫模糊控制演算法只需要進行第一、二、七步的操作。
第一步:收集模糊經驗,分條列出,可以暫時使用樣板經驗表(經驗表和分條列出的經驗是相通的)。
第二步:確定各模糊集合隸屬度函數
第三步:取一組輸入輸出數據組合,它們中的各元素,按照一條模糊規則中模糊變數組合和各自隸屬度函數分別模糊化,然後各變數通過模糊運算得到一個值,這個值就是當前組合對當前規則的匹配度。同樣,算出這個數據組合對其餘各條模糊規則的匹配程度,也就是匹配值。最後對每個匹配值,進行模糊或運算,得到的數據u
第四步:分別取各輸入輸出數據組合進行第三步操作,然後得到一個n維表(n為輸入,輸出變數個數),每個單元對應一個數據組合,單元中的取值對應數據組合的u值(u的演算法參考第三步)
第五步:任取一組輸入組合,遍歷輸出值,根據第四步的表格得到對應的一組u值,根據下面公式計算輸出:y=/其中yi是第i個可能的輸出量取值,ui是與yi對應的u值。
第六步:對每一組可能的輸入組合,得到各自的輸出值y,然後把他們列出一個表,大功即成。這個表就是輸入與輸出的映射表。前幾步的目的就是得到這個表,我們稱之為模糊控制查詢表。
第七步:編寫模糊控制查詢表的查詢程序,亦可以看成模糊控制演算法計算程序,其實就是一個查表程序。到此模糊控制演算法編寫完成。
模糊控制過程中,首先採集數據,離散化,查表得到輸出值,輸出查表所得的輸出值,模糊控制器工作完成。
其實對復雜控制系統,模糊控制的難點在於模糊經驗的收集與修正。
③ 什麼叫模糊控制演算法
模糊控制技術是利用模糊控制演算法控制變頻器的電壓和頻率的一種技術,通過模糊控制技術可使被控電動機的升速時間得到控制,以避免升速過快對電動機使用壽命的影響以及升速過慢而影響工作效率。
④ 神經網路演算法 遺傳演算法 模糊演算法 哪個好
沒有哪種演算法更好的說法,因為每種演算法都有自己的優勢。只能說某種演算法在處理某種問題時,效果更好更合適。
神經網路不能說是一種演算法,它是一種數學網路結構,各神經元的權值、閾值是用某種訓練演算法計算出來的。神經網路適用於非線性系統,可用於難以用數學表達式來描述的系統。
遺傳演算法在全局尋優問題上效果很好,因其收斂速度較快,且不易陷入局部極小點。其中實數編碼法適合與神經網路結合,例如GA-BP神經網路。
模糊演算法可將一些難以量化的參數模糊處理,並且演算法較簡單,尤其是適用於專家經驗佔主要地位的系統,因為添加一條專家經驗只需往規則庫里添加一條語句即可。用這種演算法要注意區間不能劃得太寬,否則演算法太不精確。
⑤ 模糊控制演算法是什麼
模糊控制技術是利用模糊控制演算法控制變頻器的電壓和頻率的一種技術,通過模糊控制技術可使被控電動機的升速時間得到控制,以避免升速過快對電動機使用壽命的影響以及升速過慢而影響工作效率。
⑥ 什麼叫模糊PID演算法
說實話不是一兩句能說清楚,簡單說就是用模糊控制加PID控制。PID控制是通過P I D即比例積分微分三個參數控制的策略。這個估計樓主肯定懂。模糊PID演算法就是通過模糊控制來控制這三個參數,實時改變參數以便達到更好的控制策略。具體的,內容樓主找本資料慢慢研究。
⑦ 模糊控制演算法
模糊控制演算法,是對手動操作者的手動控制策略、經驗的總結.模糊控制演算法有多種實現形式,採用應用最早、最廣泛的查表法,可大大提高模糊控制的時效性,節省內存空間
⑧ 什麼是模糊預測演算法啊
模糊預測控制演算法
Fuzzy Prediction Control Algorithm
翟春艷 李書臣
摘 要:模糊預測控制(FPC)是近年來發展起來的新型控制演算法,是模糊控制與預測控制相結合的產物.文章在預測控制的模型預測、滾動優化、反饋校正機理下,對模糊預測控制模型及其優化控制演算法作了歸納,並對模糊預測控制今後的發展進行了展望.
模糊表的一部分,就是個數組,多少個輸入就做個幾維數組就可以了(3514字)liyu2005[28次]2004-3-20 18:16:07
unsigned char outputs[MF_TOT], // 模糊輸出mu值
fuzzy_out; // 模糊控制值
unsigned char input[INPUT_TOT] ={ // 模糊輸入
0, 0
};
unsigned char code input_memf[INPUT_TOT][MF_TOT][256]={
// 輸入功能函數
{
{ // velocity: VSLOW
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF,
0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF,
0xFF, 0xF6,
0xED, 0xE4, 0xDB, 0xD2, 0xC9, 0xC0, 0xB7, 0xAE, 0xA5, 0x9C, 0x93, 0x8A, 0x81,
0x78,
173
0x6F, 0x66,
0x5D, 0x54, 0x4B, 0x42, 0x39, 0x30, 0x27, 0x1E, 0x15, 0x0C, 0x03, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
0x00, 0x00
}
http://www.newcyber3d.com/cds/ch_cd05/intro_cga.htm
⑨ 什麼是模糊演算法
通過對現實對象的分析,處理數據並構建模糊型數學模型。用隸屬關系將數據元素集合靈活成模糊集合,確定隸屬函數,進行模糊統計多依據經驗和人的心理過程,它往往是通過心理測量來進行的,它研究的是事物本身的模糊性
⑩ 模糊演算法路徑規劃C語言實現的程序,感激不盡。
僅供參考~
#define MAX_VERTEX_NUM 100 //最大頂點數
#define MAX_INT 10000 //無窮大
typedef int AdjType;
typedef struct{
int pi[MAX_VERTEX_NUM];//存放v到vi的一條最短路徑
int end;
}PathType;
typedef char VType; //設頂點為字元類型
typedef struct{
VType V[MAX_VERTEX_NUM]; //頂點存儲空間
AdjType A[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; //鄰接矩陣
}MGraph;//鄰接矩陣表示的圖
//Floyd演算法
//求網G(用鄰接矩陣表示)中任意兩點間最短路徑
//D[][]是最短路徑長度矩陣,path[][]最短路徑標志矩陣
void Floyd(MGraph * G,int path[][MAX_VERTEX_NUM],int D[][MAX_VERTEX_NUM],int n){
int i,j,k;
for(i=0;i<n;i++){//初始化
for(j=0;j<n;j++){
if(G->A[i][j]<MAX_INT){
path[i][j]=j;
}else{
path[i][j]=-1;
}
D[i][j]=G->A[i][j];
}
}
for(k=0;k<n;k++){//進行n次試探
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(D[i][j]>D[i][k]+D[k][j]){
D[i][j]=D[i][k]+D[k][j];//取小者
path[i][j]=path[i][k];//改Vi的後繼
}
}
}
}
}
int main(){
int i,j,k,v=0,n=6;//v為起點,n為頂點個數
MGraph G;
int path[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//v到各頂點的最短路徑向量
int D[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//v到各頂點最短路徑長度向量
//初始化
AdjType a[MAX_VERTEX_NUM][MAX_VERTEX_NUM]={
{0,12,18,MAX_INT,17,MAX_INT},
{12,0,10,3,MAX_INT,5},
{18,10,0,MAX_INT,21,11},
{MAX_INT,3,MAX_INT,0,MAX_INT,8},
{17,MAX_INT,21,MAX_INT,0,16},
{MAX_INT,5,11,8,16,0}
};
for(i=0;i<n;i++){
for(j=0;j<n;j++){
G.A[i][j]=a[i][j];
}
}
Floyd(&G,path,D,6);
for(i=0;i<n;i++){//輸出每對頂點間最短路徑長度及最短路徑
for(j=0;j<n;j++){
printf("V%d到V%d的最短長度:",i,j);
printf("%d\t",D[i][j]);//輸出Vi到Vj的最短路徑長度
k=path[i][j];//取路徑上Vi的後續Vk
if(k==-1){
printf("There is no path between V%d and V%d\n",i,j);//路徑不存在
}else{
printf("最短路徑為:");
printf("(V%d",i);//輸出Vi的序號i
while(k!=j){//k不等於路徑終點j時
printf(",V%d",k);//輸出k
k=path[k][j];//求路徑上下一頂點序號
}
printf(",V%d)\n",j);//輸出路徑終點序號
}
printf("\n");
}
}
system("pause");
return 0;
}