1

私が書いたmatlabコードについて質問したいのですが、まず最初に私の問題を教えてください。テストラベルと予測ラベルの2つのベクトルがあり、分類上の理由からそれらを比較したいと思います。さらに、いくつかのラベルを新しく割り当てたいと思います。だから私はこの111121111=1または1122222222=2のようなものを達成したいと思っています。私のコードは

y = [];
for k = 10:length(predictedLabel)-10
    y = [y; newlabel(predictedLabel, k, 5)];
end

関数newlabelは

function [nl] = newlabel(x, n, L)
   numClasses = 3;
   x1 = x(n-L:n+L);
   c = zeros(numClasses, 1);
   for k=1:length(x1)
     c(x1(k)) = c(x1(k))+1;
   end
  [~,nl]=max(c);
end

私の問題は、次のベクトルの長さになることです

 predictedLabel = 4996*1;
 k=4986*1;
 y=4977*1;

間違いが見えない

確率の見積もりを伴う新しいアイデアでさえ、どんな助けでもありがたいです

ありがとう

ループ

4

1 に答える 1

0

1-スカラー値で長さ関数を使用すると1になり、forループ内の値は10:1-10になりますが、これは意味がありません。(減少ステップを使用する場合は、この10:-1:1のようなものを提供する必要があります)。

2- 4996x1のサイズのベクトルを作成する場合は、次のようになります:ゼロ(4996,1)または1(4996,1)または次のようになります。

3-あなたの望ましい結果とあなたのエラーについて教えてください....説明は私には明白ではありません。

于 2013-02-28T23:17:51.120 に答える