SciLab 绘图

3

你如何在SciLab或MatLab中绘制它们?我对这些软件新手,不知道它们怎么工作。请帮助我。

$Plot following functions with different colors in Scilab or MatLab
–   f2(x) = logn
–   f3(x) = n
–   f4(x) = nlogn
–   f5(x) = n2
–   f6(x) = nj (j > 2)
–   f7(x) = cn (c > 1)
–   f8(x) = n!

where x = linspace(1, 50, 50).
3个回答

4

很多这样的功能都是内置函数。例如:

>> x = linspace(1,50,50);
>> plot(x,log(x))
>> plot(x,x)
>> plot(x,x.*log(x))
>> plot(x,x.^2)

我不知道nj (j > 2)cn (c > 1)的含义。

对于最后一个问题,您应该查看函数factorial

从上下文中无法确定您是否应该在不同的图表上绘制它们还是全部绘制在同一张图表上。如果全部绘制在同一张图表上,则可以使用

>> hold on;

冻结当前轴 - 这意味着任何新的线条将画在旧线条上面,而不是画在一个新的坐标系上。

在Matlab(和可能在Scilab中)您可以提供“行规范”参数给plot函数,告诉它应该用什么颜色和样式来绘制线条。例如:

>> figure
>> hold on
>> plot(x,log(x),'b')
>> plot(x,x/10,'r')
>> plot(x,x.^2/1000,'g')

告诉Matlab以蓝色绘制函数f(x)= log(x),以红色绘制f(x)= x / 10,以绿色绘制f(x)= x ^ 2/1000 ,结果如下图所示:

1

我还不能评论或点赞,但我想补充Chris Taylor的回答,在Scilab中,不使用hold onhold off约定。所有绘图命令都输出到当前轴上,这些轴始终处于“保持打开”状态。如果您想生成新的图形或更改当前轴,可以使用figure(n),其中n可以是任何(非连续)正整数 - 只是一个标签而已。

另请参阅clf(n)gcf()gca() - Scilab的图形处理与Matlab有很大不同,尽管matplotlib ATOMS模块在某种程度上使Scilab看起来和行为更像Matlab。


0
在Scilab中,它将是这样的。
x = 1:50;
clf
plot("ll", x,log, x,x, x,x.*log(x), x,x.^2)
gca().sub_ticks(2) = 8;
xgrid(color("grey"))
legend("$"+["ln(x)", "x", "x.ln(x)", "x^2"]+"$", "in_upper_left")

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接