0

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

我得到的向量 y 的长度与向量 x 的长度不同,我什至无法绘制它们……有什么简单的方法可以实现吗?我应该如何绘制答案?

这是我的功能:

function [ out1 ] = triangle( input1 )
if abs(input1) < 1,
    out1 = 1 - abs(input1);
else 
    out1 = 0;
end

end
4

1 回答 1

0

y每个循环的长度不同,for因为每个循环的迭代次数不同。在下面的示例中,我使用相同的for循环并绘制 y2 和相应的 x 值。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')
于 2013-04-26T17:40:17.087 回答