我有功能
function f=ejer3(a,x)
f=1/(1+exp(a*x))
endfunction
现在,我想在a的三个值(a = 0.5,1,2)和100的x值在-4和4之间绘制此函数。也就是说,我想绘制三个函数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函数。