Re: [討論]prepareCurveData在matlab的不同

看板MATLAB作者 (s4300026)時間9年前 (2015/07/06 12:07), 9年前編輯推噓3(302)
留言5則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《j225189 (jon)》之銘言: : 小弟我的matlab版本是2010a : 我有一位朋友用舊版的matlab可以使用CurveFit(X,Y)的prepareCurveData : 我用新版的則無法啟動,不知是否可以請各位大大幫我解決這問題 : 以下是出現的error訊息: : ??? Undefined function or method 'prepareCurveData' for input arguments of : type 'double'. : 可以看到都很正常的啟動 但跑到CurveFit這邊就無法跑動了 : 我有兩個 m.file 可以請各位大大幫我看看哪裡打錯嗎? : 我搞這東西已經搞了3天了,我有上網查過,但感覺是版本問題 : 以下是我第一個 m file的指令: : ================================================================= : X = [53.4 5]; : img = zeros(793,643); : for i = 1:793 : for j = 271:373 : Y = [img1_smooth(i,j) img2_smooth(i,j)]; %影像大小 : [fitresult, gof] = curveFit(X,Y); : img(i,j) = fitresult.b; : end : end : ================================================================= : 以下是第二個 m.file的指令: : ================================================================= : function [fitresult, gof] = curveFit(X,Y) : [xData, yData] = prepareCurveData(X,Y); : ft = fittype( 'a*log(x)+b', 'independent', 'x', 'dependent', 'y' ); : opts = fitoptions( 'Method', 'NonlinearLeastSquares' ); : opts.Display = 'Off'; : opts.StartPoint = [0.0711291317856039 0.75887832197416]; : [fitresult, gof] = fit( xData, yData, ft, opts ); : ================================================================= : 謝謝各位幫我看看!! 個人簡化成: function main X = 1:10; Y = 1:10; [fitresult, gof] = curveFit(X,Y); fitresult function [fitresult, gof] = curveFit(X,Y) [xData, yData] = prepareCurveData(X,Y); ft = fittype( 'a*log(x)+b', 'independent', 'x', 'dependent', 'y' ); opts = fitoptions( 'Method', 'NonlinearLeastSquares' ); opts.Display = 'Off'; opts.StartPoint = [0.0711291317856039 0.75887832197416]; [fitresult, gof] = fit( xData, yData, ft, opts ); 然後程式能跑,所以問題 "可能" 是出在 1. 你擁有相同名稱的函式在目錄檔案中,造成matlab呼叫時使用到您自定義的函式 2. 輸入格式與函式要求之格式不符,舉例來說: 對方要求您輸入一個 m*n的 "陣列",你卻給對方 "數值" 也會產生錯誤。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.123.121.126 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1436155641.A.0A5.html ※ 編輯: s4300026 (140.123.121.126), 07/06/2015 12:08:16

07/06 14:27, , 1F
謝謝你的解答 我試看看
07/06 14:27, 1F

07/06 15:32, , 2F

07/06 15:33, , 3F
3. 你的matlab中沒有該函式。
07/06 15:33, 3F

07/07 08:11, , 4F
好像是 那我要怎樣去修理?
07/07 08:11, 4F

07/07 08:52, , 5F
我有這樣猜過
07/07 08:52, 5F
文章代碼(AID): #1LcVxv2b (MATLAB)
文章代碼(AID): #1LcVxv2b (MATLAB)