评估矢量的自制函数,然后在matlab中绘图

时间:2013-04-26 16:41:23

标签: matlab vector plot

我创建了一个代表三角形符号的函数。 此功能不适用于矢量。我想评估一个向量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

1 个答案:

答案 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')