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).
4

3 回答 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)意思。

对于最后一个,您应该查看 function factorial

从上下文中不清楚您是应该将它们绘制在不同的图表上还是全部绘制在同一个图表上。如果都在同一张图上,那么您可以使用

>> hold on;

冻结当前轴 - 这意味着任何新线都将绘制在旧线之上,而不是绘制在一组新的轴上。

在 Matlab 中(可能在 Scilab 中)你可以为函数提供一个“line spec”参数plot,它告诉它绘制线条的颜色和样式。例如,

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

告诉 Matlabf(x)=log(x)用蓝色、f(x)=x/10红色和f(x)=x^2/1000绿色绘制函数,结果如下图:

在此处输入图像描述

于 2012-10-02T17:27:02.193 回答
1

我还不能评论或投票,但我想补充一下 Chris Taylor 的回答,即在 Scilab中没有使用hold onandhold off约定。所有绘图命令都输出到当前轴,这些轴一直“保持”。如果您想生成一个新图形或更改您可以使用的当前轴figure(n),其中n可以是任何(非连续)正整数 - 实际上只是一个标签。

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

于 2012-10-24T13:53:01.170 回答
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")

在此处输入图像描述

于 2021-11-29T11:27:51.893 回答