在MATLAB中随机改变三角波的斜率?

在MATLAB中随机改变三角波的斜率?,matlab,graphics,simulink,matlab-figure,figure,Matlab,Graphics,Simulink,Matlab Figure,Figure,下面的代码生成一个三角波: x=0:0.1:3; f=(mod(x,1)<=0.3).*(1-1/0.3.*mod(x,1))+(0.3<mod(x,1)).*(1/0.7.*(mod(x,1)-0.3)); plot(x,f) x=0:0.1:3; f=(mod(x,1)您可以使用rand(N,1)获得一个N元素列向量,其中每个元素都是一个介于0和1之间的随机数。将N设置为在post结束时由“…”表示的值的数量。每个周期(1秒)增加一个整数计数器并使用该计数器在随机数组中移动。例

下面的代码生成一个三角波:

x=0:0.1:3;
f=(mod(x,1)<=0.3).*(1-1/0.3.*mod(x,1))+(0.3<mod(x,1)).*(1/0.7.*(mod(x,1)-0.3));
plot(x,f)
x=0:0.1:3;

f=(mod(x,1)您可以使用rand(N,1)获得一个N元素列向量,其中每个元素都是一个介于0和1之间的随机数。将N设置为在post结束时由“…”表示的值的数量。每个周期(1秒)增加一个整数计数器并使用该计数器在随机数组中移动。例如,如果计数器名为“count”,则使用rand(N,1)(count)而不是“0.3”。

我如何做到这一点,“每个周期”(1秒)“增加一个整数计数器并使用该计数器在随机数组中移动”?您的帖子中不清楚“秒”在哪里是的,所以我不知道如何回答。x应该是秒,还是秒是问题的其他部分,你正在循环,但没有在代码段中显示?如果x是秒,我想你可以在f函数定义中包含一些if语句来循环。比如,“如果(xYes X以秒为单位。对于每1秒,X=0.3的值应随机变化。代码中要做什么更正?抱歉,我不能为您做家庭作业。您需要修改f函数,您可以使用matlab函数rand,您需要为f函数添加一些逻辑(如一些if/else语句)。或者,如果您不想这样做,可以编写三个不同的函数,类似于f,但使用不同的随机值代替“0.3”,例如f1、f2、f3。这些f1、f2、f3实际上是数组,其元素是在x处计算的函数。然后,您可以连接f1、f2、f3数组,并使用plot函数绘制生成的数组。