我正在尝试在scilab中创建一个步进函数,它在两个值{28,36}之间跳转,并保持每个5个单位的'i'。
这是我的代码;
for i=1:25;
if pmodulo(i,5)==0
if a==28
a=36
else
a=28
end
end
end
plot(i,a)
可以请一些人告诉我缺少什么,因为我一直得到一个没有图表的情节屏幕,我的i轴在情节屏幕上的值为20到25而不是1到25,这告诉我正在做某事错
答案 0 :(得分:3)
您的Scilab代码存在一些问题。最大的问题是i
和a
在尝试绘制它们时只会翻倍。在for循环期间,i
会不断重新分配。因此,当退出for
- 循环时,其值为25
。
同样适用于a
。在第一次迭代中,它是完全未知的。所以代码肯定会失败。如果在for
- 循环上面添加一个声明来初始化该值,它至少会存在。但随后它将不断重新分配到36或28位。
在for
- 循环结束时,您最终会得到i=25
和a=36
。
在Scilab中绘制步进函数。 Scilab提供plot2d2
功能。请查看the docs以获取更多信息,但是对于您的示例,请查看一段非常详细的示例代码。
start_X = 0;
step_X = 5;
end_X = 24;
high=36;
low=28;
X = [start_X:step_X:end_X];
Y = [low,high,low,high,low];
plot2d2(X,Y);
DuckDuckGo provides许多入门教程,可以让您更深入地了解SciLab。