close

趕快了解一下這個m文在做什麼,希望等等有時間更新之前學習的CUDA文

加油!!!

不要放颱風假,這樣我怎麼請假回家勒QQ

%train
load sbig.txt

%target
load target.txt

load sim.txt
% x2=reshape(train1,1,[]);
% y2=reshape(target,1,[]);
w = zeros(72,2);

for r= 1:72

lef = zeros(2,2);
rig = zeros(2,1);
an = zeros(2,1);

x_sbig = sbig(r,:);
y_bm7a = target(r,:);

lef(1,1) = 80;
lef(1,2) =sum(x_sbig);
lef(2,1) =sum(x_sbig);
lef(2,2) =sum(x_sbig.^2);

rig(1,1) =sum(y_bm7a);
rig(2,1) =sum(x_sbig.*y_bm7a);

an = inv(lef)*rig;
w(r,2)=an(1,1);
w(r,1)=an(2,1);

end

sim_train_result = zeros(72,80);
sim_no_train_result = zeros(72,20);
for r = 1:72
for c = 1:80
sim_train_result(r,c) = sbig(r,c) * w(r,1) + w(r,2);
end
end

for r = 1:72
for c = 1:20
sim_no_train_result(r,c) = sim(r,c) * w(r,1) + w(r,2);
end
end

%plot(sbig(40,:),target(40,:),'.b')

%plot(sbig,target,'.b')

 
load 載入檔案

一開始載入訓練數據(sbig.txt)

接著載入正確答案(target.txt)

再者是測試數據(sim.txt)

令w是一個72*2的矩陣,值給零

跑個for迴圈(1~72)

令lef是一個2*1的矩陣,值給零

令rig是一個2*1的矩陣,值給零

令an是一個2*1的矩陣,值給零

sbig r列的所有值放入x_sbig

將target r列的所有值放入y_bm7a

lef(1,1)放長度80

lef(1,2)為所有x_sbig的總和

(為何又要再放一次?)

lef(2,2)為所有x_sbig平方總和(x_sbig為什麼後面有一點??)

rig(1,1)為所有y_bm7a的總和

rig(2,1)為所有x_sbig*y_bm7a的總和(x_sbig為什麼後面又有一點??)

an為lef的反矩陣*rig

w(r,2)=an(1,1) --就放過去-.- (剛剛有動到an嗎? 不是還是0嗎???)

w(r,1)=an(2,1)

迴圈結束

訓練結果~令sim_train_result 為一個72*80的矩陣,值給零

測試結果~令sim_no_train_result 為一個72*20的矩陣,值給零

雙迴圈 跑72*80(訓練)

sim_train_result(r,c) = sbig(r,c) * w(r,1) + w(r,2);   

雙迴圈 跑72*20(測試)

sim_no_train_result(r,c) = sim(r,c) * w(r,1) + w(r,2);
 
arrow
arrow
    全站熱搜

    glitterHsin 發表在 痞客邦 留言(0) 人氣()