我创建了一个代表三角形符号的函数。 此功能不适用于矢量。我想评估一个向量x:
x=[-2:0.01:2]
并将答案保存在向量y中,为此我想出了以下代码:
for i=1:400, y(i) = triangle(x(i))
我得到了ans我绘制的是使用情节。在这种情况下它工作正常,但我有兴趣观察时移和收缩的影响,所以当我尝试使用时,让我们说:
for i=1:200, y(i) = triangle(x(2*i))
我得到的矢量与矢量x的长度不同,我甚至无法绘制它们......有没有简单的方法来实现它?我应该如何绘制答案?
这是我的功能:
function [ out1 ] = triangle( input1 )
if abs(input1) < 1,
out1 = 1 - abs(input1);
else
out1 = 0;
end
end
答案 0 :(得分:0)
y
在每个for
循环中的长度不同,因为每个循环迭代的次数不同。在下面的示例中,我使用相同的for
循环并使用x的相应值绘制y2。 i
已在matlab中定义,因此我在下面的示例中将其更改为t
。
clear all
x=[-2:0.01:2];
for t=1:400
y(t) = triangle(x(t));
end
for t=1:200
y2(t) = triangle(x(2*t));
end
或者,如果您想在同一范围内看到y2,则可以增加x:
的大小clear all
x=[-2:0.01:8];
for t=1:400
y(t) = triangle(x(t));
end
for t=1:400
y2(t) = triangle(x(2*t));
end
plot(x(1:length(y)),y,'r')
hold on
plot(x(1:length(y2)),y2,'b')