Matlab 如何分配向量元素以获得方波?
我有一个向量T,定义为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=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=…
对不起,这只是一个输入错误!哦谢谢这管用!