2013-05-20 48 views
2

例如,如果我有一个功能f(x)=x^2,我该如何评估它在x=2? 我曾尝试采用象征性的工具箱,并使用在命令窗口下面的代码:如何评估一个函数在Matlab中的一个点?

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

但我刚上车的第一行这样的错误: Undefined function 'syms' for input arguments of type 'char'.

我完全新的Matlab和仍计算语法,所以我可能有一个语法错误。不过,我也有学生试用版,所以我应该不能使用符号工具箱。有没有什么办法可以定义f(x)并在x=2处进行评估?

+7

对我来说工作很好,所以它确实看起来像是你想象中的符号工具箱。 – Junuxx

回答

9

您可以使用匿名函数:

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

,然后写

>> f(2) 

ans = 

    4 
4

没有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 
2

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

>> f(2) 

ans = 

    4 
0

要做到这

SYMS X

F = X^2

潜艇(F,2)

ANS