[討論] 同算試 在function跟main算出來的不一樣

看板MATLAB作者 (Maydayisgod)時間9年前 (2016/06/12 17:40), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
大家好! 小弟遇到一個很奇怪的問題 這是main clear all theta=[14.154989916158062;0.539122655828177]; X=[-15.9367581337854;-29.1529792172381;36.1895486266625]; y=[2.13431050672967;1.17325667875646;34.3591091805390]; m = length(y); for i=1:m error_train1(i) = 1/(2*m)*sum(([ones(i , 1) X(1:i, :)]*theta-y(1:i)).^2) error_train(i) = CostFunction([ones(i , 1) X(1:i, :)],y(1:i),theta) end 這是function function J=CostFunction(X,Y,theta) m=length(Y); J=0; J=1/(2*m)*(sum((X*theta-Y).^2)); end 算出來的答案竟然不一樣 error_train1 = 1.9595 3.2064 3.2866 error_train = 5.8784 4.8097 3.2866 請問是哪裡出錯了 看了一整天還是看不出來 麻煩幫忙解答 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.185.243 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1465724450.A.41A.html

06/12 21:05, , 1F
第一個算式的m改成i就好
06/12 21:05, 1F
文章代碼(AID): #1NNIuYGQ (MATLAB)
文章代碼(AID): #1NNIuYGQ (MATLAB)