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



我有一个函数

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

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

例如:

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

并绘制 f1。

我该怎么做?我必须使用 for 循环吗?我是科学实验室的新手。

在您的情况下,更简单,最有效的解决方案是编写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 函数。

最新更新