0

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);
4

2 に答える 2

1

マルシンは正しいです。関数を使用しないでくださいinline。それらはもう使用されていません。Symbolic Math Toolbox を使用して微分したい場合は、 を使用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に置き換えています。xxi


実行例を見てみましょう。入力と出力を使用してこのコードを実行すると、次のようになります。

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

幸運を!

于 2014-12-01T05:16:36.003 に答える
0

これを参照してください。

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
于 2015-01-04T11:18:20.727 に答える