Matlab 如何分配向量元素以获得方波?

Matlab 如何分配向量元素以获得方波?,matlab,for-loop,vector,plot,Matlab,For Loop,Vector,Plot,我有一个向量T,定义为 T=zeros(1,4) 我想定义T,使得T(1)和T(2)等于1和T(3)和T(4)等于0。因此,当我绘制T时,它看起来像一个方波 我试过了 for i=1:2:size(T,2) T(i:i+1)=1 end figure; plot(T); 但这并没有达到预期的效果。结果是[1,0,1,0] 做这个作业的正确方法是什么 要与绘制方波的问题区分开来: 我想知道如何准确地创建一个循环,该循环将绘制成一个方波,,而无需明确定义频率或使用符号方程。然后,我将使用

我有一个向量T,定义为

T=zeros(1,4)
我想定义T,使得
T(1)
T(2)
等于
1
T(3)
T(4)
等于0。因此,当我绘制
T
时,它看起来像一个方波

我试过了

for i=1:2:size(T,2)
   T(i:i+1)=1
end 
figure; plot(T);
但这并没有达到预期的效果。结果是[1,0,1,0]

做这个作业的正确方法是什么

要与绘制方波的问题区分开来:
我想知道如何准确地创建一个循环,该循环将绘制成一个方波,,而无需明确定义频率或使用符号方程。然后,我将使用此信息修改另一个脚本,该脚本将执行相同的操作,但是一个更大的向量T,其中“周期”不相同。有时是11秒,有时是9秒等等

周期是4,而不是2:

for i=1:4:size(T,2)
   T(i:i+1)=1
end 
figure; plot(T);

如果您可以访问信号处理工具箱,另一种方法是使用以下函数:

T = (1+square(0:pi/2:3*pi/2))/2 %// 1 1 0 0

英雄联盟我刚刚为code golf工作;)@烧杯你可以分享吗?:)试图找出你的代码出了什么问题。首先,您的
for
循环需要一个等号:
for i=…
对不起,这只是一个输入错误!哦谢谢这管用!