【发布时间】:2015-09-09 03:18:53
【问题描述】:
目前,如果我想添加或删除另一个eq#,我还必须调整sig_min_len 和weave 变量中的变量。
fs=60000
t=linspace(0,2*pi,fs); %creates same size time
freq=100;
for phase=1:360
phase
eq1=sin(freq*t+deg2rad(phase));
eq2=sin(freq*t+deg2rad(phase+1));
eq3=sin(freq*t+deg2rad(phase+2));
eq4=sin(freq*t+deg2rad(phase+3));
sig_min_len = min([ length(eq1), length(eq2) , length(eq3), length(eq4)]); %get min length
weave=reshape([[eq1(1:sig_min_len)];[eq2(1:sig_min_len)];[eq3(1:sig_min_len)];[eq4(1:sig_min_len)]],1,[])'; %interweave to row vectors into one col vector
end
有没有一种方法可以只使用一个方程
eq1=sin(freq*t+deg2rad(phase));来创建一个循环,并在相位增量的同时 根据我循环的phase's的数量调整变量sig_min_len和变量weave?有没有办法为变量
sig_min_len进行循环,这样我就不必写出每个length(eq#)? 有没有办法为变量weave创建一个循环,这样我就不必写出每个eq#(1:sig_min_len)了?
PS:我使用的是 Octave 3.8.1,它的工作原理类似于 matlab。
【问题讨论】: