/ / Evaluer une fonction dans matlab - matlab

Evaluer une fonction dans matlab - matlab

J'ai étendu la fonction de péché dans une série de Taylor. Maintenant, je veux l’évaluer à un moment précis. Je reçois d’étranges erreurs "MuPAD" dans Matlab. Qu'est-ce que je fais mal?

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

Réponses:

1 pour la réponse № 1

Voulez-vous vraiment dire 220? Ou avez-vous voulu dire 220 degrés, auquel cas vous devriez utiliser 220 * pi / 180?

Je pense que ça devrait être sous-marins ne pas funm

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

1 pour la réponse № 2

Je ne suis pas 100% familier avec la syntaxe que vousutiliser, peut-être que la syntaxe de la fonction inline est légèrement différente de la syntaxe développée, mais il semble que votre fonction n’ait pas une entrée et une sortie clairement définies. Une fonction matlab non-inline devrait ressembler à ceci:

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

Essayez de créer votre fonction dans un fichier séparé.fichier m (nom de fichier identique au nom de la fonction). Une fois que vous avez créé le fichier .m, assurez-vous qu’il se trouve dans le chemin de recherche de MatLab (vérifiez si l’auto-compléteur affiche le nom de votre fonction lorsque vous le tapez partiellement).

En ce qui concerne le corps de votre fonction, je vois unpeu de choses étranges. Qu'est-ce que "syms x" est supposé faire? Je remplacerais cette ligne par "x = -pi: 0.001: pi;" (x est un vecteur de -pi à pi avec des incréments de 0,001). ou quelque chose d'analogue à cela.

Aussi, pour une aproximation de Taylor normale, j'utiliseraistaylor (sin (x), 63) (la surcharge avec "v" - effectue une approximation de Maclaurin). De plus, je ne ferais pas une approximation de Taylor jusqu’à l’ordre 63-1, c’est beaucoup trop élevé, peut-être que MatLab se bloque dessus.

Dans l'image suivante, vous pouvez voir que l'approximation du 7ème ordre est déjà extrêmement bonne entre -pi et pi. Série de Taylor pour différents ordres d'approximation de sin (x)