如何区分我的 Function Fun
?当我尝试使用diff
它时说
'diff'
不支持类'inline'
我使用的代码如下所示:
fprintf('Newton Raphson\n');
Fun=input('\nType a function \n');
xi=input('\nType initial value\n');
def=diff(Fun);
der=inline(def);
dxi=der(xi);
如何区分我的 Function Fun
?当我尝试使用diff
它时说
'diff'
不支持类'inline'
我使用的代码如下所示:
fprintf('Newton Raphson\n');
Fun=input('\nType a function \n');
xi=input('\nType initial value\n');
def=diff(Fun);
der=inline(def);
dxi=der(xi);
马尔辛是正确的。不要使用inline
函数。那些不再使用了。如果您想使用符号数学工具箱进行区分,请使用sym
为您创建一个函数,然后使用它来区分它。
因此,假设这x
是自变量,请执行以下操作:
syms x;
fprintf('Newton Raphson\n');
Fun=input('\nType a function \n');
xi=input('\nType initial value\n');
out = sym(Fun);
def = diff(out);
dxi = subs(def, 'x', xi);
请注意,因为公式是符号,如果您想x
用特定值替换,您需要使用subs
. 使用subs
,我们将替换x
为存储在 中的初始值xi
。
让我们做一个贯穿示例。这是我运行这段代码时得到的结果,包括我的输入和输出:
Newton Raphson
Type a function
x^2 + x + 3
Type initial value
4
out
将是输入的函数:
out =
x^2 + x + 3
xi
将是初始值:
xi =
4
函数的导数存储在def
:
def =
2*x + 1
最后,将我们的初始值代入我们的导数存储在 中dxi
,因此给出:
dxi =
9
祝你好运!
看看这可能对你有帮助。
eq = input('Write an equation in x','s'); %input a equation
f = sym(eq); %turn the equation into a symbolic one
fin = inline(char(f)); %for converting the symbolic function into inline funct
dfin = inline(char(diff(f))); %for converting the symb diff func into inline diff f