獲得矩陣行數或列數的函數如下:
1、ndims(A)返回A的維數
2、size(A)返回A各個維的最大元素個數
3、length(A)返回max(size(A))
4、[m,n]=size(A)如果A是二維數組,返回行數和列數
5、nnz(A)返回A中非0元素的個數
Matlab生成向量
如果是二維向量的話,設向量為a,那麼命令語句就是:a=[cos(20*pi/180),sin(20*pi/180)];或者:a=[cos(20*pi/180),-sin(20*pi/180)];三維向量運算更麻煩一點,但也是這個道理。
需要注意Matlab的角度隻認弧度製,所以需要換算一下再使用三角函數。
【matlab行向量相乘生成矩陣用行向量相乘的的語句生成下列矩陣...
matlab生成列向量的方法如下:1、直接輸入:行向量:a=[1,2,3,4,5]列向量:a=[1;2;3;4;5]2、用“:”生成向量:a=J:K 生成的行向量是a=[J,J+1,…,K]a=J:D:K 生成行向量a=[J,J+D,…,J+m*D],m=fix((K-J)/D)3、函數linspace 用來生成數據按等差形式排列的行向量:x=linspace(X1,X2):在X1和X2間生成100個線性分布的數據,相鄰的兩個數據的差保持不變。
構成等差數列。
x=linspace(X1,X2,n): 在X1和X2間生成n個線性分布的數據,相鄰的兩個數據的差保持不變。
構成等差數列。
4、函數logspace用來生成等比形式排列的行向量:X=logspace(x1,x2) 在x1和x2之間生成50個對數等分數據的行向量。
構成等比數列,數列的第一項x(1)=10x1,x(50)=10x2X=logspace(x1,x2,n) 在x1和x2之間生成n個對數等分數據的行向量。
構成等比數列,數列的第一項x(1)=10x1,x(n)=10x2注:向量的的轉置:x=(0,5)'拓展資料MATLAB是美國MathWorks公司出品的商業數學軟件,用於算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,主要包括MATLAB和Simulink兩大部分MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。
是由美國mathworks公司發布的主要麵對科學計算、可視化以及交互式程序設計的高科技計算環境。
Matlab是一個高級的矩陣/陣列語言,它包含控製語句、函數、數據結構、輸入和輸出和麵向對象編程特點。
用戶可以在命令窗口中將輸入語句與執行命令同步,也可以先編寫好一個較大的複雜的應用程序(M文件)後再一起運行。
新版本的MATLAB語言是基於最為流行的C++語言基礎上的,因此語法特征與C++語言極為相似,而且更加簡單,更加符合科技人員對數學表達式的書寫格式。
使之更利於非計算機專業的科技人員使用。
而且這種語言可移植性好、可拓展性極強,這也是MATLAB能夠深入到科學研究及工程計算各個領域的重要原因。
MATLAB包括擁有數百個內部函數的主包和三十幾種工具包。
工具包又可以分為功能性工具包和學科工具包。
功能工具包用來擴充MATLAB的符號計算,可視化建模仿真,文字處理及實時控製等功能。
學科工具包是專業性比較強的工具包,控製工具包,信號處理工具包,通信工具包等都屬於此類。
開放性使MATLAB廣受用戶歡迎。
除內部函數外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶通過對源程序的修改或加入自己編寫程序構造新的專用工具包。
參考資料:百度百科—MATLAB
matlab向量定義
matlab向量定義方法:1.向量的普通定義方法向量的常見格式有以下三種:v1=1:N; %格式1 v2=x1:dx:x2 ; %格式2v3=x4:-dx:x3; %格式3參數說明:v1,v2,v3是返回的向量名。
格式1中的向量的步長等於1,向量v1的最小值和最大值分貝是1和N,此種格式常用於循環指標的定義。
格式2中的設定向量間隔步長是dx,向量的v2的最小值和最大值分別是x1和x2.格式3中的向量的步長等於-dx,它是一個負數,而向量的最大值和最小值分別是x4和x3。
所有的返回向量都是行向量。
在v1的定義的步長缺省,這是步長等於1,而向量的v2的生成語句中,步長等於dx. 2.用linspace函數定義向量的方法函數linspace可以生成兩個數之間的等間隔向量,其調用格式如下:v1=linspace(x1,x2); %格式1v2=linspace(x1,x2,N); %格式2參數說明:v1和v2是返回的函數名。
在格式1中,x1和x2是向量的兩個端點,向量元素個數是100。
在格式2中,x1和x2表示向量的兩個端點,N用於指定的元素個數。
當N是一個小數的時候,matlab將把N進行向0取整,即fix(N);當N時負數的時候,返回的向量v2將等於x1.同時x1和x2的大小關係人任意時,matlab自動調整正負步長,x1作為向量的起點,x2作為向量的終點。
所有返回的向量都是行向量。
當linspace的輸入參數N缺省時,生成的向量長度是100,我們可以任意指定。
3.用logspace函數定義向量的方法函數logspace可以用來產生一個對數向量,其調用的格式如下:v1=logspace(x1,x2); %格式1v2=logspace(x1,x2,n); %格式2參數說明:v1和v2是返回的對數向量。
x1和x2用來控製端點,返回向量的兩個端點的大小為10^1和10^2.格式1中的向量長度是50.格式2中的n用於指定向量的元素個數。
函數logspace的計算過程是先得到x1和 x2之間的等間距向量,然後計算10^(linspace(x1,x2,n)),因此函數logspace得到的向量不是等間距向量,取對數後才是等距的。
4.用randperm函數來定義向量函數randperm可以用於產生一個元素為從1到N的隨機自然序列,其調用的格式如下:rand('state',s)v=randperm(N);參數說明:s用於設定隨機數的狀態,這樣程序每次執行的結果都是一樣的,我們可以改變S的值以便取到不同的隨機數。
N用來定義隨機向量的中的最大整數。
機器學習句子相似度計算,最後怎麼根據相似度高低排序返回原來的句...
先說一個還是從詞的角度出發考慮的,最後的效果非常好,就是怎麼樣從詞的向量得到句子的向量,首先選出一個詞庫,比如說10萬個詞,然後用w2v跑出所有詞的向量,然後對於每一個句子,構造一個10萬維的向量,向量的每一維是該維對應的詞和該句子中每一個詞的相似度的最大值。
這種方法實際上是bag of words的一個擴展,比如說對於 我喜歡用蘋果手機 這麼一句話,對應的向量,會在三星,諾基亞,小米,電腦等詞上也會有比較高的得分。
這種做法對於bag of words的稀疏性問題效果非常好。
還做過一個直接訓練句子的相似度的一個query2vec模型,效果也不錯,就不細說了。
MATLAB中如何將循環語句裏產生的向量放到矩陣裏??
ones(m,n)表示一個m行n列的全1陣zeros(m,n)表示一個m行n列的全0陣[]是向量的拚合操作,以","分開的則按列拚,以";"分開的則按行拚.第一句是將一個1*t0/(3*ts)的全1陣,和一個1*t0/(3*ts)的全-2陣,和一個1*(t0/(3*ts)+1)的全零陣按列拚起來,就是一個1*(3*t0/(3*ts)+1)的行向量m=[1 1 ... 1 1 -2 -2 ... -2 -2 0 0 ... 0 0 0]length()返回一個向量的長度,也就是行向量的列數或者列向量的行數: 是用於生成等差數列構成的向量的.如果有隻有一個分號,則從前一個遞增1到後一個構成行向量;如果有兩個分號,則兩個分號間表示遞增步長(步長可以是負數)向量或者矩陣和數的加減乘除相當於每個元素和這個數做相應運算.第二句構造了一個和第一句中定義的m長度一樣的向量,起始為0-fs/2,步長為df1,最末為df1*(length(m)-1)-fs/2.樓主還是買本matlab的初級書看看吧.
java輸入語句
import java.util.*;public class Choose {public static void main(String args[]){ //System.out.println("123");Scanner out = new Scanner(System.in);System.out.println("輸入一個int型數據:");int a= out.nextInt();System.out.println( a );System.out.println("輸入一個float型數據:");float b= out.nextFloat();System.out.println( b );System.out.println("輸入一個string型字符串:");Scanner str = new Scanner(System.in);System.out.println( str.next() );}}import java.util.*;import是引進輸入的意思。
在高級編程語言中,如果你想使用某個類或接口,那就要用import導入這個類,如在Java中編寫servlet,使用httpServlet,那就要在文件的開頭(包之後)寫上,importjavax.servlet.http.*;表示導入javax.servlet.http這個包中所有的文件。
單類型導入(single-type-import),例如importjava.util.*;util是utiliy的縮寫,意為多用途的,工具性質的包這個包中主要存放了:集合類(如ArrayList,HashMap等),隨機數產生類,屬性文件讀取類,定時器類等類。
這些類極大方便了Java編程,日常java編程中,經常要用到這些類。
java.util是 各類常用工具包。
包含集合框架、遺留的 collection 類、事件模型、日期和時間設施、國際化和各種實用工具類(字符串標記生成器、隨機數生成器和位數組、日期Date類、堆棧Stack類、向量Vector類等)。
集合類、時間處理模式、日期時間工具等各類常用工具包。
*表示這個包下的所有的類。
import java.util.*;這句代碼是調用java.util中所有的類。
Scanner in = new Scanner(System.in);Scanner是一個類,這個類最大作用就是獲取控製台的輸入信息(Scanner.in),反饋到in值裏麵。
in是一個實例或者說是一個對象,new是創建一個對象的方法。
第一個in是可以換成其他單詞的。
第二個System.in中的in不能更改。
Java 5添加了java.util.Scanner類,這是一個用於掃描輸入文本的新的實用程序。
除了能使用正則表達式之外,Scanner類還可以任意地對字符串和基本類型(如int和double)的數據進行分析。
借助於Scanner,可以針對任何要處理的文本內容編寫自定義的語法分析器。
通過new Scanner(System.in)創建一個Scanner,控製台會一直等待輸入,直到敲回車鍵結束,把所輸入的內容傳給Scanner,作為掃描對象。
int a = in.nextInt(); 把輸入的字符提交成a的值。
這句話就是錄入所輸入的值。
同一個函數用matlab作圖,為什麼用linspace語句和for語句來控製自變...
n維矩陣有兩個下標,n維向量隻能提供一個下標。
當然你可以采用單下標訪問方式。
比如A(a)顯示的結果是A矩陣的第1,3,4……個元素;而A(1,a)顯示的是A(1,1),A(1,3),A(1,4)……的結果。
Matlab中數組元素引用有三種方法:1.下標法(subscripts)2.索引法(index)3.布爾法(Boolean)在使用這三種方法之前,大家頭腦一定要清晰的記住,Matlab中數組元素是按列存儲(與Fortran一樣),比如說下麵的二維數組A= 8 1 6 3 5 7 4 9 2Matlab的存儲順序是8,3,4,1,5,9,6,7,2,也就是說先行後列,對於3維數組呢,就是先行後列再頁對應個元素的索引和下標分別為Element Index Subscripts8 1 (1,1)3 2 (2,1)4 3 (3,1)1 4 (1,2)5 5 (2,2)9 6 (3,2)6 7 (1,3)7 8 (2,3)2 9 (3,3)從上麵的例子中已經很清晰的說明了下標和索引的區別了,也就是說Matlab為沒有個元素分配了一個唯一識別的ID(即index)1.下標法引用A(ii,jj):其中ii和jj可以是一維向量、標量、“:”號或者“end”大家對下標估計比較熟悉,由於在C語言中接觸過,但是我這裏需要強調的是,Matlab的下標是可以多行多列同時引用的,而像C語言等一次隻能引用一個,比如A(2:3,3:-1:1)表示引用數組中的2~3行,3~1列對應的元素A(:,end)表示引用最後一列元素,“:”表示所有列或行,“end”表示最後一列或列,“end-n”表示倒數第n行或列A(1,end-1)表示引用第1行倒數第2個元素A([2 1 3 3],[1 1 2 2 1])表示引用按兩個向量引用指定的元素,即A中的第2,1,3,3行和第1,1,2,2,1列對應的元素>>A=magic(3)A = 8 1 6 3 5 7 4 9 2>>A(2:3,3:-1:1)ans = 7 5 3 2 9 4>>A(:,end)ans = 6 7 2>>A(1,end-1)ans = 1>>A([2 1 3 3],[1 1 2 2 1])ans = 3 3 5 5 3 8 8 1 1 8 4 4 9 9 4 4 4 9 9 42.索引法引用(說白了索引就是存儲順序)A(index):index可以是任意的數組,index的元素必須是正整數,且不大於numel(A),返回的是一個尺寸與index一樣的數組下標和索引之間可以通過ind2sub和sub2ind函數相互轉換,具體可以看幫助,很簡單[I,J] = ind2sub(siz,IND)IND = sub2ind(siz,I,J)還有使用A(:)就可以將數組A轉換為列向量A(8):表示引用A的第8個元素B=A([1 10 5 2 2 1 3]):表示依次引用A的第1,10,5,2,2,1,3個元素,返回與index尺寸相同的數組,也就是說size(B)=size(index)A([2 5 9;1 1 1;8 5 6]):返回的時侯是一個3*3的矩陣>>A=magic(5)%括號中為索引值A = 17 (1) 24 (6) 1 (11) 8 (16) 15 (21) 23 (2) 5 (7) 7 (12) 14 (17) 16 (22) 4 (3) 6 (8) 13 (13) 20 (18) 22 (23) 10 (4) 12 (9) 19 (14) 21 (19) 3 (24) 11 (5) 18 (10) 25 (15) 2 (20) 9 (25)>>A(8)ans = 6>>A([1 10 5 2 2 1 3])ans = 17 18 11 23 23 17 4>>A([2 5 9;1 1 1;8 5 6])ans = 23 11 12 17 17 17 6 11 243.布爾法引用A(X):X是一個有0和1組成布爾型數據,且size(A)=size(X),對應位置為1則留下該數據,0則去掉,最後按A中的存儲順序,返回一個列向量假如說A是3*3的數組A(logical([1 0 0;0 1 0;0 0 1])):表示引用了數組A的對角線元素,注意必須使用logical將0/1數組轉換為布爾型>>A=magic(3)%生成一個3*3的數組A= 8 1 6 3 5 7 4 9 2>>x=logical([1 1 0;0 1 1;1 0 1])%將double轉化為boolean型數據x = 1 1 0 0 1 1 1 0 1>>A(x)%引用對應位置為1的數據,返回列向量ans = 8 4 1 5 7 2>>x=A>5%是有了比較語句,返回布爾型數據,對應位置數據大於5的為1,否則為0x = 1 0 1 0 0 1 0 1 0>>A(x)%返回大於A中大於5的元素,其實該命令可以一次性執行A(A>5)或者find(A>5),前者返回具體元素,後者返回大於5的數據的索引值ans = 8 9 6 7>>A(A>5)%一次性執行上麵的命令ans = 8 9 6 7>>indx=find(A>5)%查找A中對於5的元素,返回它們的索引(index)值,此時我們可以通過A(index)返回具體的元素index = 1 6 7 8增加內容1、向量的創建1)直接輸入:行向量:a=[1,2,3,4,5]列向量:a=[1;2;3;4;5]2)用“:”生成向量 a=J:K 生成的行向量是a=[J,J+1,…,K] a=J:D:K 生成行向量a=[J,J+D,…,J+m*D],m=fix((K-J)/D)3)函數linspace 用來生成數據按等差形式排列的行向量 x=linspace(X1,X2):在X1和X2間生成100個線性分布的數據,相鄰的兩個數據的差保持不變。
構成等差數列。
x=linspace(X1,X2,n): 在X1和X2間生成n個線性分布的數據,相鄰的兩個數據的差保持不變。
構成等差數列。
4)函數logspace用來生成等比形式排列的行向量 X=logspace(x1,x2) 在x1和x2之間生成50個對數等分數據的行向量。
構成等比數列,數列的第一項x(1)=10x1,x(50)=10x2 X=logspace(x1,x2,n) 在x1和x2之間生成n個對數等分數據的行向量。
構成等比數列,數列的第一項x(1)=10x1,x(n)=10x2注:向量的的轉置:x=(0,5)'2、矩陣的創建1)直接輸入:將數據括在[]中,同一行的元素用空格或逗號隔開,每一行可以用回車或是分號結束如:a=[1,2,3;3,4,5],運行後:a = 1 2 3 3 4 52)函數eye,生成單位矩陣eye(n) :生成n*n階單位Eeye(m,n):生成m*n的矩陣E,對角線元素為1,其他為0eye(size(A)):生成一個矩陣A大小相同的單位矩陣eye(m,n,classname):對角線上生成的元素是1,數據類型用classname指定。
其數據類型可以是:duoble、single、int8、uint8、int16、uint16、int32...
轉載請注明出處句子大全網 » 句向量中的句子矩陣怎麼訓練得到