首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MATLAB中找到一个函数的值?

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

Stack Overflow用户
提问于 2014-09-03 00:58:53
回答 1查看 112关注 0票数 0

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

代码语言:javascript
复制
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'))

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

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

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

就像我说的,我对MATLAB很陌生,有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-03 01:01:46

我需要指出的一点是,乘法需要一个*运算符。通过执行2x,MATLAB会将其解释为一个名为2x的变量,而MATLAB不支持在有一个数字优先的情况下的变量。因此,您需要执行2*x + 1。此外,还需要删除break语句。如果你把它放在里面,你的代码就会过早退出。

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

代码语言:javascript
复制
disp(f(al));
disp(f(ar));

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

代码语言:javascript
复制
>> 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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25634656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档