Function Scilab:获取函数的未关联参数

Function Scilab:获取函数的未关联参数,function,scilab,Function,Scilab,我想知道是否有一种方法可以实现像这样的目标 -->80923=myCoolFunction(p,56,7) p=24 在Scilab?以下是我键入此命令时的当前结果: -->8761.7635 = tauxcompose(p, 4, 25) Warning: obsolete use of '=' instead of '=='. ! !--error 4 Undefined variabl

我想知道是否有一种方法可以实现像这样的目标

-->80923=myCoolFunction(p,56,7)

    p=24
在Scilab?以下是我键入此命令时的当前结果:

-->8761.7635 = tauxcompose(p, 4, 25)
Warning: obsolete use of '=' instead of '=='.
        !       


                       !--error 4 
Undefined variable: p

谢谢您的回答。

您必须使用
fsolve
,如文档所示@

示例:

function r = myCoolFunction(p,a)
    r = p .^2 .* exp(-a*p)
endfunction
p
是变量
a
是一个额外的参数(如示例a=56等)

现在我们搜索p,例如
myCoolFunction(p,1)==100
,假设至少有一个解。我们建造

deff("out = gap(p,a,c)","out = myCoolFunction(p,a) - c")
初始猜测p0:显示
myCoolFunction(p,1)
的绘图,并查看它在100左右的位置

p0 = -3;
然后我们调用
fsolve

[p,v,status] = fsolve(p0, list(gap,1,100))
结果:

独立检查:

--> p = fsolve(-4, list(gap, 2, 1e4))
 p  = 
  -3.3856301

--> myCoolFunction(p, 2)
 ans  =
   10000.000
现在,什么是
p
来获得
myCoolFunction(p,2)==1e4

p = fsolve(-4, list(gap, 2, 1e4))
myCoolFunction(p, 2)
结果和检查:

--> p = fsolve(-4, list(gap, 2, 1e4))
 p  = 
  -3.3856301

--> myCoolFunction(p, 2)
 ans  =
   10000.000

我不太清楚你想要什么样的行为。你想知道在80923中给MyColFunction赋予的p是什么吗?你有一个Matlab/GNU倍频程的例子吗?我从来没有见过这样的事情。是的,我想知道,如果我用这种方式调用函数,有一种方法可以得到p的值吗?我在Scilab中也没有看到这样的东西,但我有一个任务,我需要计算这个p,并且它写着我不需要任何计算或新函数,所以…我从来没有在任何编程语言中见过这样的东西。通常输入定义在右侧,输出定义在左侧。如果没有关于问题的任何功能性知识,您可以强制执行它,并在while循环中继续尝试
p
的值,而答案不等于80923。我可能会在Prolog中工作,但我甚至不想尝试,哈哈。我可能会像你说的那样使用暴力。谢谢回答:)
--> p = fsolve(-4, list(gap, 2, 1e4))
 p  = 
  -3.3856301

--> myCoolFunction(p, 2)
 ans  =
   10000.000