Scilab:我想绘制一个有两个变量的函数

Scilab: I want to plot a function with two variables

我有一个功能

function f=ejer3(a,x)
    f=1/(1+exp(a*x))
endfunction

现在我想为 a (a=0.5,1,2) 的三个值和 -4 到 4 之间的 x 的 100 个值绘制此函数。也就是说,我想绘制三个函数 f1, f2, f3;每个都是使用 a 的一个值和 x 的 100 个值绘制的。

例如:

x=linspace(-4,4)
f1=1/(1+exp(0.5*x))

并绘制 f1。

我该怎么做?我必须使用 for 循环吗?我是 scilab 的新手。

对于您的情况,更简单、最有效的解决方案是编写 ejer3 的矢量化版本:

function f=ejer3(a,x)
    a=a(:);//column vector
    x=matrix(x,1,-1);// row vector
    f=1.0./(1+exp(a*x))
endfunction

然后

 a=[0.5,1,2];
 x=linspace(-4,4,100);
 ejer3(a,x)

如果函数无法向量化,可以使用 feval 函数。