0

以下の b 配列でこのエラーが発生し続けます

A = ones(numTrials, 2*numDOFs);
b = ワン (試行回数, 1);

k = 2;
for i = 2:numSubjects
    for j = 1:numTrials
        A(k,:) = cat(2,subject(i).trial(j).torque_integral, subject(i).trial(j).work_integral); 
        b(k) = [subject(i).trial(j).E - subject(i).trial(j).B - sum(subject(i).trial(j).work_integral)];        
        k = k + 1;
    end
end

b 配列の作成の各コンポーネント (subject(i).trial(j).E など) をテストしましたが、それらはすべてスカラー値です。したがって、それらを加算/減算して、事前に割り当てられた b 配列のインデックスに割り当てることができるはずです。単純なダミー バージョンは次のようになります。

c = ワン(4,1)

c =

 1
 1
 1
 1

c(3) = 3

c =

 1
 1
 3
 1

それで、私はここで何が欠けていますか?ありがとう!

4

1 に答える 1

0

おそらく、割り当てに入るすべての要素のサイズを出力する必要があります。そうすれば、問題は自然に解決します。

size(cat(2,subject(i).trial(j).torque_integral, subject(i).trial(j).work_integral))
size([subject(i).trial(j).E - subject(i).trial(j).B - sum(subject(i).trial(j).work_integral)])

注 - 上記の末尾;を省略しているため、値がコンソールに出力されます。[]また、ベクトルを作成しようとしているかのように、B への割り当てがその周りにあります。それが本当に単一の要素である場合、その必要はありません...

于 2013-03-12T02:14:50.107 に答える