質問編集履歴

2

追加

2021/07/06 23:40

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
File without changes
test CHANGED
@@ -67,3 +67,47 @@
67
67
 
68
68
 
69
69
  ![イメージ説明](863e7d802e9825603ff9f585a1c92746.png)
70
+
71
+ ```matlab
72
+
73
+ [x fs]=audioread('.wav');
74
+
75
+ x_length=length(x);
76
+
77
+ y_out=zeros(x_length,2);
78
+
79
+ w=[1 0;0 1];
80
+
81
+ ita=0.0001;
82
+
83
+ Ta=1000;
84
+
85
+
86
+
87
+ for n=1:x_length-Ta
88
+
89
+
90
+
91
+ x_tmp=x(n:n+Ta-1,:);
92
+
93
+ y=x_tmp*w.';
94
+
95
+ fai=tanh(y);
96
+
97
+ I=eye(n);
98
+
99
+ y_out(n,:)=y(1,:);
100
+
101
+
102
+
103
+ w=w+ita*(I-((fai.'.*y)/Ta)).*w;
104
+
105
+
106
+
107
+ end
108
+
109
+ ```
110
+
111
+ 使っているプログラムと今のデータセットを載せます.
112
+
113
+ ![イメージ説明](2c0dd777e6828f57822d5ac2dae95bab.png)

1

修正

2021/07/06 23:40

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,25 @@
45
45
 
46
46
 
47
47
  のようにエラーが出ます.2*3の行列の片方を転置したものをかける時はどのようにしたら良いでしょうか.
48
+
49
+
50
+
51
+ もしかしたら別の質問に移るかもしれませんが,私は今このφ(y)^T*yの式で上と同じ配列のサイズが合わないというエラーでつまずいています.
52
+
53
+ φ,yともに1000×2doubleでその部分だけを取り出すとこのようなプログラムを書いていました.
54
+
55
+ それでエラーが出るので,式を簡単にして考えていました.このプログラムは間違っていますか.
56
+
57
+ ```matlab
58
+
59
+ a=fai.';
60
+
61
+ b=y;
62
+
63
+ z=a.*b;
64
+
65
+ ```
66
+
67
+
68
+
69
+ ![イメージ説明](863e7d802e9825603ff9f585a1c92746.png)