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

问题描述 投票:0回答:1

我有功能

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的新手。

function variables plot scilab
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.