用户输入的功能定义

时间:2017-03-23 07:57:47

标签: scilab

我想创建一个程序,要求用户输入一个函数,例如cos(x) + 2。我的问题是,我不知道语法或代码如何使输入的函数成为一个真正的函数,我可以操纵它,比如得到它的衍生物,绘制它,类似的东西。任何人都可以教我如何做到这一点?谢谢!

1 个答案:

答案 0 :(得分:0)

要创建“真实”功能,您可以使用2种不同的语法:

function [x]=myfct(a,b)
    x=a+b;
endfunction

deff("[x]=myfct(a,b)","x=a+b");

注意:如果您只有一个返回变量,则可以省略方括号。

后一种形式在这里更直接,因为您只需要询问用户的2或3个字符串:

  1. function_statement:答案应为"x=a+b"

  2. input_varaible_list(以逗号分隔):答案应为"a,b"

  3. output_varaible_list(以逗号分隔):答案应为"x"

  4. 然后将其放在deff

    deff("["+output_varaible_list+"]=myfct("+input_varaible_list+")",function_statement);
    

    如果将输出变量名称修改为x,则不必要求它,用户只需输入函数语句的右侧({{1}之后) })。所以它变成了:

    =

    对于导数,请参阅Scilab帮助中的deff("[x]=myfct("+input_varaible_list+")","x="+function_statement); derivative函数。