独立成分分析を用いて混合された音声を別々に分けるプログラムを作成しています.
一番最後の行はこの式を表しているのですが,
matlab
1配列のサイズがこの演算に適合しません。 2 3エラー: report12 (行 16) 4 w=w+ita(I-(fai.'.*y)/Ta).*w;
また
matlab
1>> size(ita(I-(fai.'.*y)/Ta)) 2配列のサイズがこの演算に適合しません。 3
このようにしてもサイズが適合しないと出ます.
他にも
matlab
1fai.'.*y 2配列のサイズがこの演算に適合しません。
faiが10002の行列でyも10002の行列ですが,サイズが適合しないと出ます.
何が問題なのでしょうか.
matlab
1[x fs]=audioread('.wav'); 2x_length=length(x); 3y_out=zeros(x_length,2); 4w=[1 0;0 1]; 5ita=0.0001; 6Ta=1000; 7 8for n=1:x_length-Ta 9 10 x_tmp=x(n:n+Ta-1,:); 11 y=x_tmp*w.'; 12 fai=tanh(y); 13 y_out(n,:)=y(1,:); 14 I=eye(n); 15 w=w+ita(I-(fai.'.*y)/Ta).*w; 16end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。