matlab学习(二)
多維整數(shù)線性規(guī)劃使用lingo更方便
dist——?dú)W式距離加權(quán)函數(shù)(Euclidean distance weight function)
語法:
? ? Z = dist(W,P)
? ? df = dist('deriv')
? ? D = dist(pos)
描述:dist是一個歐式距離加權(quán)函數(shù),給一個輸入使用權(quán)值,去獲得加權(quán)的輸入。
1、dist(W,P)中:W——S×R的權(quán)值矩陣;P——R×Q的矩陣,表示Q個輸入(列)向量
2、dist('deriv')返回‘’,因為dist沒有導(dǎo)函數(shù)。
3、dist也是一個層距離函數(shù),可以被用來尋找一層中神經(jīng)元之間的距離。
? ? ?dist(pos)輸入一個參數(shù),pos——N×S的神經(jīng)元位置矩陣,返回S×S的距離矩陣
例子: ?
1、這里,我們定義一個隨機(jī)權(quán)重矩陣W,以及輸入向量P,并且計算相應(yīng)的加權(quán)輸入Z
? ? ? ?W = rand(4,3);
? ? ? ?P = rand(3,1);
? ? ? ?Z = dist(W,P)
2、我們定義10個神經(jīng)元的隨機(jī)的位置矩陣,并且尋找他們的距離,這些神經(jīng)元是在3維空間中的。
? ? ? ?pos = rand(3,10);
? ? ? ?D = dist(pos)
?綜上可知:
dist可以計算樣本集中多個樣本兩兩之間的距離矩陣。
對于圖像I,將其分成n個超像素,每個超像素的特征有3維,那么形成3×n的超像素特征矩陣M,每列表示一個超像素。
此時,使用dist(M),就會得到一個n×n的矩陣N,其中的元素Nij表示的是第i個超像素和第j個超像素特征之間的歐式距離。
MATLAB輸出變量方法很多,主要包括以下幾類。
(1)語句后面不加分號“;”,這是直接輸出數(shù)值的比較簡單的方法。
(2)disp(a)直接在命令窗口顯示a變量,這種方法輸出和第一種差不多。
(3)fprintf('a=%f',a)格式控制輸出,輸出'a='然后再顯示輸出的變量。
(4)save(dir+name,'變量名')保存輸出到某個文件中去,可以將數(shù)值保存。
點(diǎn)運(yùn)算是處理的元素之間的運(yùn)算,而直接的/在矩陣計算中只能處理符合矩陣運(yùn)算法則的運(yùn)算。比如作圖時的運(yùn)算用的都是點(diǎn)運(yùn)算。在對數(shù)值計算時,“./”和“/”其實是沒有區(qū)別的。
例如對于矩陣A=[a b c d],1./A=[1/a 1/b 1/c 1/d],而1/A表示的是A的逆
Y = asind(X)
返回?X?的元素的反正弦 (sin-1)(以度為單位)。該函數(shù)的域和范圍包含復(fù)數(shù)值。對于?X?在域 [-1,1] 中的實數(shù)元素,asind?返回位于范圍 [-90,90] 中的值。對于?X?在此域之外的值,asind?返回復(fù)數(shù)值。
說明 1 的反正弦正好是 90°。
asind(1) ans = 90非線性規(guī)劃用fmincon
nonlcon是用M文件定義的非線性向量函數(shù)c(x),ceq(x)
總結(jié)
以上是生活随笔為你收集整理的matlab学习(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB学习(一)
- 下一篇: Simulink中的某一个模块用了我自己