• 締切済み

MATLABエラー

0.1秒かけて直線的に立ち上がり、その後0.1秒かけて直線的に減衰するような三角形の時間包絡をかけた音を作成したいのでの下記のプログラムを作りました。 1 %envelope.m 2 delta=1/48000; 3 t=delta:delta:0.1; 4 y=sin(2*pi*500*t); 5 6 t1=delta:delta:0.1; 7 env1=t1/0.1; 8 9 t2=delta:delta:0.1; 10 env2=1-t2/0.1; 11 12 env=[env;env2]; 13 z=y.*env; 14 plot(t,z); 15 16 A=0.9; 17 z=A*z; 18 sound(z,48000,16); しかし、次のようなエラーが起こりました。 行列の次元は一致しなければなりません。 エラー ==> enveplot at 13 z=y.*env; 何行目をどのように書き換えればエラーが起こらなくなりますか?

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

> 行列の次元は一致しなければなりません。 ということですよ。 yは 1行4800列、envは2行4800列なのですから。 連結させるなら、 ; ではありません。

関連するQ&A