matlab 數學建摸之基礎(三)
阿新 • • 發佈:2018-11-12
邏輯運算 #:與and(A,B) 或or(A,B) 非not(A) 異或運算xor(A,B)
cumsum #–求取陣列的累加和[輸入型別二輸出型別]
矩陣中:A=sumsum(a) a的型別與A的型別相同;A的第m行,第n行=a中第一到第m行的所有的n列元素
a=cumsum(Aaa,1)
A=cumum(Aaa,2)--a的型別與A的型別相同;A的第m行,第m行=a中第一列到第n列的所有的第m行元素
sum #–求取陣列的和:輸入向量,輸出數值;輸入矩陣,輸出向量
A=sum(a)--a為矩陣;A為a的列求和,輸出向量 A=sum(a,2)--a為矩陣;A為a的行求和,輸出向量 A=sum(a(:))--a為矩陣;A為a的sum(a)的值,在將向量轉為數值
相乘 #–A=dot(a,b)或A=dot(a,b,dim)
輸入向量,輸出數值: a為向量a,b為向量b--A=dot(a,b)--a,b的列之乘,在將其向量加值為數值A a=[1 2 3];b=[2 3 4]--A=1*2+2*3+3*4=20 a為矩陣a,b為矩陣b--A=dot(a,b)--a,b各列之乘,在將其各列之和得到A a=[1 2 3;2 3 4] b=[1 5 6;3 6 7]--1*1+2*3=7;2*5=3*6=28;3*6+7*4=46 a為矩陣a,b為矩陣b--A=dot(a,b,2)--a,b各行之乘,在將其各列之和得到A a=[1 2 3;2 3 4] b=[1 5 6,3 6 7]--1*1+5*2+6*3=29;2*3+6*3+7*4=52
叉乘–笛卡兒積:cross(A,B)或cross(A,B,dim)–用於防止模型過於複雜而引起的過擬合
a,b均為一維陣列取值叉來層 一維: a=[1 2 3];b=[2 3 4] 根據笛卡兒積:i j k 1 2 3 2 3 4 得到:i=(3*3-2*4) -j=(1*4-3*2) k=(1*3-2*2) a,b均為多維陣列取值叉來層:cross(A,B,2) 多維: a=[1 2 3;2 3 4];b=[3 4 5;7 8 9] 根據笛卡兒積:A=-2 4 -2;-5 10 -5 由得到:-2=(1*4-2*3);4=(3*3-1*5);-2=(2*5-3*4) -5=(2*8-3*7);-5=(3*9-4*8);10=(4*7-2*9)