/ / matlabで関数を評価する - matlab

matlabの関数を評価する - matlab

私はsin関数をTaylor級数に拡張しました。今、私は特定の時点でそれを評価したいです。 matlabで奇妙な "MuPAD"エラーが出ます。何がおかしいのですか?

function r1=taylor_sine
syms x;
mysine = taylor(sin(x), 63, 0);
r1 = funm(220, mysine);

回答:

回答№1は1

あなたは本当に220を意味しましたか?それとも220度を意味しましたか?その場合は220 * pi / 180を使用する必要がありますか?

私はそれがすべきだと思う 潜水艦 ない Funm

r1 = double( subs(mysine, x, 220*pi/180) );

回答№2の場合は1

私は「あなたの文法に100%精通しているわけではない」インライン関数の構文は拡張構文と多少異なるかもしれませんが、あなたの関数が明確に定義された入出力を持っていないように見えます。インラインでないmatlab関数は次のようになるはずです。

%Comment
function [ theta ] = FunctionName( alpha, beta )
theta = alpha + beta;
end

別の関数を作成してみてください。mファイル(ファイル名は関数名と同じ) .mファイルを作成したら、それがMatLabの検索パスにあることを確認します(部分的に入力したときにオートコンプリータに関数名が表示されているかどうかを確認します)。

あなたの機能の実際の本体に関しては、私は見ますいくつかの奇妙なこと。 "syms x"とは何ですか?この行を "x = -pi:0.001:pi;"に置き換えます。 (xは0.001の増分で-piからpiまでのベクトルになります)。またはそれに類似したもの。

通常のTaylor近似にも使用しますtaylor(sin(x)、63)( "v"によるオーバーロード - マクローリン近似を行います)。また、私は63-1次までテイラー近似をしてはいけません、それは高すぎる、MatLabはおそらくそれでクラッシュします。

次の図では、-piとpiの間で7次近似がすでに非常に優れていることがわかります。 sin(x)の近似次数の異なるテイラー級数