第一個程式
function y=f( p )
[m,n]=size ( p );
for j=1:n
y(1,j)=2*p(1,j)^2+0.25*p(2,j)^2;
end
第二個程式
clear all;
a1=-2+4*rand(2,400);
a2=-2+4*rand(2,200);
a3=-2+4*rand(2,100);
b1=f(a1);
b2=f(a2);
b3=f(a3);
這是用matlab隨機產生700組(x,y)資料,函數是f(x,y)=2x^2+0.25*y^2
要訓練資料400組..驗證資料200組..測試的100組...
第二個程式中4*rand(2,400)為何要用4去乘~~請問可以用別的數字嗎??
第一個程式迴圈那邊就看不太懂了~~
可以請有學過的大大解釋一下嗎??謝謝囉
daKKK wrote:
我稍微看一下 有錯...(恕刪)
我很久沒用matlab了,憑印象解釋
第二個才是你的主程式
a1 = 2 by 400 matrix
rand(m,n) 回傳 m by n matrix, 每個都是Uniformly distributed pseudorandom numbers
-2 及 4 是用來改變 mean 及 variance
這數字不是隨便取的, 基本上你的公式用什麼套進算出理論值,這邊就用一樣的值
第一個程式
回傳的y 是 1xn row vector
也就是 b1 = 1x400, b2 = 1x 200, b3 = 1x100
y(1)=2*p(1,1)的平方+0.25*p(2,1)的平方
y(2)=2*p(1,2)的平方+0.25*p(2,2)的平方
.
.
.
y( n )=2*p(1,n)的平方+0.25*p(2,n)的平方
如果我沒記錯 這邊一行就行了(這是MATLAB 為什麼叫MATLAB)
y=(p.^2)'*[2 0.25]'
整個程式應該
clear all;
a1=-2+4*rand(2,400);
a2=-2+4*rand(2,200);
a3=-2+4*rand(2,100);
b1=(a1.^2)'*[2 0.25]';
b2=(a2.^2)'*[2 0.25]';
b3=(a3.^2)'*[2 0.25]';
另外... 打一下 help 這些都查的到
內文搜尋

X