簡體   English   中英

如何將八度的try-catch語句轉換為Matlab形式?

[英]How to convert try-catch statements in octave to a Matlab form?

我需要將舊的Octave代碼轉換為Matlab R2017a形式。 Matlab不理解將要提到的代碼,並且給出了錯誤:

未定義的變量“ lasterror”或類“ lasterror.message”。

錯誤的computeCentroids(第16行)msg = lasterror.message;

Mathworks表示,“ lasterror”將被(或已經被)從更現代的Matlab版本中刪除。 我個人不熟悉lasterror.message或try-catch對。 我希望你能幫助我。

碼:

function centroids = computeCentroids(Xnum, Xcat, idx, K) 
[m n] = size([Xcat Xnum]);
centroids = zeros(K, n);
for i=1:K,
    indx = (idx(:,1)== i);
    try
        centroids(i,:) = [findMode(Xcat, indx) computeMean(Xnum, indx)];
    catch
        msg = lasterror.message;
        fprintf(strcat(msg, '\n'));
    end_try_catch
    end
end
.
.
.
.
end

請檢查文檔 您可以打印如下錯誤:

try
   %Error-maker
catch e 
    fprintf(1,'There was an error! The message was:\n%s',e.message);
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM