-1

次のコードが機能しない理由に驚いています

function [ x ] = generate2(N,m,A3)
f1 = 100;
f2 = 200;
T = 1./f1;
t = (0:(N*T/m):(N*T))'; %'
q=randn(500,1);
wn = randn(length(t),1); %zero mean variance 1
x = 20.*sin(2.*pi.*f1.*t+q) + 30.*cos(2.*pi.*f2.*t+q) + A3.*wn;
%[pks,locs] = findpeaks(x);
plot(x);
end

次のコマンドを実行すると

>> sample1=generate2(3,500,1);

次のエラーが表示されます

Undefined function 'generate2' for input arguments of type 'double'.

何が問題なのか理解できませんでしたか?

解決したけど、また別の問題が発生

+
マトリックスの次元は一致する必要があります。
generate2 のエラー (8 行目) x = 20.*sin(2.*pi.*f1.*t+q) + 30.*cos(2.*pi.*f2.*t+q) + A3.* wn;

4

2 に答える 2

0

私はあなたの時間を無駄にしたくないので、私の質問に答えます。修正されたコードは次のとおりです

function [ x ] = generate2(N,m,A3)
f1 = 100;
f2 = 200;
T = 1./f1;
t = (0:(N*T/m):(N*T))'; %'
q=randn(501,1);
wn = randn(length(t),1); %zero mean variance 1
x = 20.*sin(2.*pi.*f1.*t+q) + 30.*cos(2.*pi.*f2.*t+q) + A3.*wn;
%[pks,locs] = findpeaks(x);
 plot(x);
end
于 2013-05-13T14:50:26.747 に答える