1. ホーム
  2. matlab

[解決済み] matlabで正方形/三角形/鋸歯と法線正弦を作成する

2022-02-07 15:43:56

質問

sin(2x) 2000HZ、矩形波1000HZ、三角波1000HZ、ノコギリ波1000HZを作成しようとしています。各グラフのポイント数は62000である必要があります。

これでよいのでしょうか?なぜかy2,y3,y4が作成されないのですが・・・。

t = 0:0.001:0.62; % Sampling frequency 6.2kHz
y1=sin(2*pi*2000*t);
y2 =square(2*pi*1000*t);
y3= sawtooth(2*pi*1000*t);
y4= sawtooth(2*pi*1000*t,1/2); %triangle

更新してください。

t = 0:0.001:0.62; % Sampling frequency 6.2kHz

y1 = sin(2000*t);
y2 = square(1000*t);
y3 = sawtooth(1000*t);
y4= 10 * sawtooth(1000*t ,0.5) + 5;

解決方法は?

Square関数とSawtooth関数はSignal Processing Toolboxが必要です。 そのため、自分で関数を作成することも可能です。

t = 0:0.1:8*pi;

y1 = sin(t);
y2 = square(t);
y3 = sawtooth(t);

スクエア.mと。

function y = square(x)

inp = sin(x) >= 0;
y(~inp) = -1;
y(inp) = 1;

end

sawtooth.mと

function y = sawtooth(x)

y = ((mod(x,2*pi)/(pi*2))*2)-1;

end

結果