【问题标题】:SciLab PlottingSciLab 绘图
【发布时间】:2012-09-23 00:02:25
【问题描述】:

您将如何在 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).

【问题讨论】:

    标签: function matlab graph graphing scilab


    【解决方案1】:

    嗯,其中很多都是内置函数。例如

    >> 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 函数提供一个“line spec”参数,该参数告诉它绘制线条的颜色和样式。例如,

    >> 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 绘制为绿色,结果如下图:

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        在 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")
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-21
          相关资源
          最近更新 更多