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 函数。
我有一个功能
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 函数。