質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

1回答

7398閲覧

配列のサイズがこの演算に適合しません。

kaeruuuun

総合スコア19

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2021/07/06 07:49

編集2021/07/06 08:20

独立成分分析を用いて混合された音声を別々に分けるプログラムを作成しています.
イメージ説明
一番最後の行はこの式を表しているのですが,

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

matlab

1fai.'.*y

これはサイズ 2 x 1000の配列fail.'とサイズ 1000x2の配列yの”要素ごとの”積を表しますからサイズエラーとなります

配列の積であれば
fai.'*y
とすればよいでしょう
要素ごとの積であれば
fai.*y
となります

投稿2021/07/18 08:32

WathMorks

総合スコア1582

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問