作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是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));
最佳答案
您的 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/
我是一名优秀的程序员,十分优秀!