我是 matlab 新手,想计算 f(x)/f'(x) 之类的东西。我希望用户输入函数 f(x)、参数 x 和 x 的值(假设为 5,以便我可以评估 f(5)/f'(5))。请建议我应该做什么。
问问题
69 次
2 回答
0
您可以使用polyder
和执行此操作,polyval
如下所示:
f = input('Enter f(x): '); %e.g; Enter [1 3 4] if f(x)= x^2 + 3*x + 4
df = polyder(f); %f'(x)
x= input('Enter x: '); %Enter the value of 'x' e.g 5
fx_dfx= polyval(f,x)/ polyval(df,x) %f(x)/f'(x)
如果你有Symbolic Math Toolbox,你也可以使用:
syms x; %Creating a symbolic variable x
f = input('Enter f(x): '); %Enter f(x) e.g: x^2 + 3*x + 4
f(x)= f; %Converting sym to symfun
df(x) = diff(f) %f'(x)
x_val= input('Enter x: '); %Enter the value of 'x' e.g 5
fx_dfx = double(f(x_val)/df(x_val)) %f(x)/f'(x)
于 2017-02-12T21:09:31.817 回答
0
一种方法是使用符号变量
function [ val ] = func( fun, num )
symfun = sym(fun);
dsymfun = diff(symfun);
y = symfun/dsymfun;
val = subs(y, num);
end
然后调用它
例如
value = func('x^2', 5)
value =
5/2
否则,您可以将输入作为符号变量提供:
function [ val ] = func( fun, num )
dfun = diff(fun);
y = fun/dfun;
val = subs(y, num);
end
然后写
syms x;
func(x^2, 5)
于 2017-02-12T20:59:53.277 回答