matlab - 如何在matlab中计算数学函数?

标签 matlab

我是 matlab 新手,目前正在寻找如何在 matlab 中求解数学函数。

这就是我想要的,我想求解函数 f(x)=x^2+2x+1,其中 x=2。 我想将 x^2+2x+1 和 2 作为输入并显示输出。

从这里link ,我看到了如何求解数学函数。 链接中提供的程序是:

>>f = @(x) 2*x^2-3*x+4;
>>f(3)
ans = 13

因此,我在脚本中编写了以下部分:

F=input('enter function: ','s');
v = input('parameter: ');
f=@(x)F;
disp(f(v));

当我提供 x+1 和 3 作为输入时,我得到的 ans 是 x+1。如何解决这个问题?

提前致谢。

最佳答案

您的F变量是一个字符串,简单地说 "x + 1" 。您必须要求 matlab 将此字符串解释为函数才能获取数值。

一种方法是使用 eval

F = input('enter function: ', 's' );
v = input('parameter: ');
myfun = sprintf('@( %s ) %s', v, F ); % a string
f = eval( myFun ); % interpret string as a command
f( 3 ), % do the math - evaulate F(3)

编辑,根据以下评论进行澄清:
上述解决方案假设 F ,表示数学公式的输入字符串可能具有用户选择的变量(即,未知数不一定是 'x' ,它可能是 'y''a' 等)为了传达这一点, v是存储此信息的字符。

如果F始终取决于'x' ,所需的输出是 F(v)对于数值 v需要进行以下修改:

myfun = sprintf('@(x) %s', F );
f = eval(myfun);
F_of_v = f( v )

关于matlab - 如何在matlab中计算数学函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18327546/

相关文章:

matlab - 测量谷宽 2d,matlab

excel - 将图像和表格链接到 MS Word

perl - 如何获得巨大矩阵的特征值(大小为 : 2x10^5)

matlab - 从主函数中清除局部函数中的持久变量

matlab - 将表的一部分写入具有可变工作表名称的 Excel 文件

matlab - 检测邻接矩阵中的循环

c - 由 Matlab Coder 生成的名为 i386 的变量

css - Matlab R2017a 帮助浏览器无 CSS

java - 如何将 Matlab GUI 转换为 Java?

matlab - 在 MATLAB 中获取矩阵的最小行