【问题标题】:How to evaluate a function at a point in Matlab?如何在 Matlab 中的某个点评估函数?
【发布时间】:2013-05-20 16:22:29
【问题描述】:

例如,如果我有一个函数f(x)=x^2,我如何在x=2 处评估它? 我尝试使用符号工具箱并在命令行窗口中使用以下代码:

syms x;
f = sym(x^2);
subs(f,x,2);

但我只是在第一行得到这个错误: Undefined function 'syms' for input arguments of type 'char'.

我对 Matlab 完全陌生,仍在研究语法,所以我可能有语法错误。但是,我也有一个学生试用版,所以我应该不能使用符号工具箱。有什么方法可以定义f(x) 并在x=2 进行评估?

【问题讨论】:

  • 对我来说很好用,所以看起来你确实缺少符号工具箱。

标签: function math matlab evaluate


【解决方案1】:

您可以使用匿名函数:

>> f = @(x) x^2;

然后写

>> f(2)

ans =

     4

【讨论】:

    【解决方案2】:

    没有Symbolic Math Toolbox,你仍然可以做类似的事情。一种方法是将x 定义为离散值的向量,并在此基础上计算f

    x = 0:0.01:10; %// lower bound, step size, upper bound
    f = x.^2;      %// use the element-wise power operator .^
    y = f(x == 2); %// get the value for f where x is 2
    

    【讨论】:

      【解决方案3】:

      当然你可以简单地在一个 .m 文件中定义它:例如 In f.m: function [x] = f(x);x = x ^ 2;

      >> f(2)
      
      ans =
      
           4
      

      【讨论】:

        【解决方案4】:

        你可以这样做

        syms x

        f = x^2

        subs(f,2)

        回答

        4

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多