如何在MATLAB中找到函数的值?

时间:2014-09-03 00:58:53

标签: matlab

我刚开始使用MATLAB,为此我不熟悉MATLAB本身。 我的示例代码如下:

function Problem1 = BisectionMethod1()
    a = input('enter function:', 's');
    f = inline(a);
    iteration_counter = 0;
    al = input('enter left bound: ');
    ar = input('enter right bound: ');
    break;
    disp(f('al'))
    disp(f('ar'))

当我设置为x + 1,并将左右边界设置为1和2时,它会正确显示f(al)和f(ar)。

当我在' x'前面有一个系数时,问题似乎就开始了。

例如,当我设置为2x + 1,并将左右边界设置为1和2时,MATLAB会给我错误。

就像我说的,我是MATLAB的新手,有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我需要做的一点是乘法需要*运算符。通过执行2x,MATLAB会将其解释为名为2x的变量,并且MATLAB不支持首先存在数字的变量。因此,您需要2*x + 1。此外,您需要删除break声明。如果您将此代码保留,则您的代码将提前退出。

此外,只需在调用f时删除单引号即可。您正在输入变量,而不是变量本身的实际名称。因此,你会这样做:

disp(f(al));
disp(f(ar));

使用您的代码,这就是我得到的:

>> a = input('enter function:', 's');
enter function:2*x + 1
>> f = inline(a);
>> al = input('enter left bound:');
enter left bound:1
>> ar = input('enter right bound:');
enter right bound:2;
>> disp(f(al))
     3

>> disp(f(ar))
     5