Question sur MATLAB

T

tigerkonsole

Guest
<img src="http://www.edaboard.com/images/smiles/icon_confused.gif" alt="Confus" border="0" />

: Quelqu'un peut-il me dire comment puis-je calculer l'aire sous la courbe de l'aide de Matlab?

 
J'ai eu ce à partir d'un ami.

J'espère que ça aide.

Matlab Application - courbe, etc montage
Curve Fitting
Laissez-nous faire quelque ajustement de courbe.Nous avons besoin d'une courbe.Nous avons déjà une courbe de Bézier que nous venons généré.Nous allons utiliser cette courbe pour certains exercices.Depuis, nous pouvons créer la courbe de Bézier lorsque nous voulons utiliser le script nous allons travailler avec la matrice XY.Il est utile de pouvoir enregistrer les données dans un fichier.Nous pouvons le faire de la manière suivante
>> Aider à sauver

Enregistrer l'espace de travail variables Enregistrer sur le disque.
fname SAVE enregistre toutes les variables espace de travail pour le binaire "MAT-file"
nommé fname.mat.Les données peuvent être récupérées avec la charge.L'omission de l'
filename causes SAVE d'utiliser le nom de fichier par défaut "matlab.mat".

fname SAVE X enregistre uniquement X.
fname SAVE XYZ sauve X, Y et Z. Le caractère générique '*' peut être utilisé pour
enregistrer que les variables qui correspondent à un modèle.

SAVE fname XYZ-ascii utilise à 8 chiffres sous forme ASCII au lieu du binaire.
SAVE fname XYZ-ascii-double utilise 16 chiffres sous forme ASCII.
SAVE fname-ascii-double-onglets délimite XYZ avec des onglets.
SAVE fname XYZ-v4 enregistre un fichier MAT-4 peut MATLAB LOAD.
SAVE fname XYZ-append ajoute les variables à un fichier existant MAT-.

Utilisez la forme fonctionnelle de SAVE, tels que SAVE ('fname', 'var1', 'var2'),
lorsque le nom de fichier ou noms de variables sont stockées dans les chaînes.

Voir aussi charger, agenda, fwrite, fprintf.

Comme nous ne voulons mettre XY (données de la courbe).

>> Mettre C: Emem899 \ \ Matlab_Course \ XY1.dat XY-ascii-double

Nous sommes prêts à l'ajustement de courbe.Laissez-nous créer un autre fichier de script qui va lire les données, nous avons économisé.Nous allons choisir le fichier en utilisant une boîte de dialogue de fichier.En supposant que le fichier est enregistré dans le répertoire indiqué ci-dessus

Appuyez sur Nouveau dans la barre d'outils dans l'éditeur
Tapez le code suivant et enregistrez-le avec un etension m.
% Ceci est un fichier de script à explorer
% Ajustement de la courbe
interpolation%
% Dérivés
intégration, en%
%

% Clairement ce qui effacera toutes les variables de l'espace de travail
% d'utilisation avec prudence

% Le texte1 est une variable de type chaîne.Le n \ représente une nouvelle ligne dans l'écran
text1 = ['La fonction qui est tracé doit ...
Contiennent des atleast 2 colonnes de données ...
"\ NIl doit être un fichier ascii.S'il vous plaît sélectionnez '...
'Nin \ la boîte de dialogue et cliquez sur \ n retour »];fprintf (Texte1)% text1 affiche à l'écran
clairement text1% n'en ont pas besoin, pas plus
% Utilisant la boîte de dialogue uigetfile

le fichier [chemin], = uigetfile ('C: Emem899 \ \ Matlab_Course \ *. dat', 'Fichier de type de données, 200 200);

le fichier% est le nom du fichier et
PATH% est le chemin pour le fichier
Le fichier% de cette affiche le nom du fichier
chemin
cd (path) Variation en% dans le répertoire approprié
% En connaître le nom il devrait être possible d'utiliser la fonction de charge matlabtext1 = 'utilisation [de la commande de charge de l'espace de travail ...
'N charge filename \'];
fprintf (Texte1)

load (fichier);

la liste% qui les variables dans l'espace de travail
% Devrait trouver xy1 il
Xy1% vérifier les données

Exécutez le script à ce jour et voir si cela fonctionne

Maintenant que nous avons les données

%------------------------------------------------- ------------------------
% Pour le montage courbe polynomiale nous allons utiliser la fonction polyfit
% De l'évaluation, nous utiliserons la fonction Polyval
% N'hésitez pas à aider les polyfit type et aider Polyval dans l'espace de travail
fenêtre%

coeff = polyfit (xy1 :), 1), xy1 :), 2), 1)% un ajustement linéaire
% Les coefficients polynomiaux sont stockés dans coeff

plot (xy1 :), 1), Polyval (coeff, xy1 :), 1 )),'--')
Remarque% qu'elle devrait être plus facile de faire ce qui précède
% En deux étapes - de calculer la courbe
% Et il intrigue.Matlab peut gérer fantaisie de codage
% À la fantaisie de codage

emprise sur plusieurs parcelles permet% sur la même figure

plot (xy1 :), 1), xy1 :), 2), 'r-')

% Grille attire la grille

xlabel ('x valeur »)
ylabel («valeur y ')
Titre (courbe en «bon exemple»)
%------------------------------------------------- ----------------------

Permet de faire un peu de fantaisie ici

% Réinitialiser NSI chiffre précis

% Définir la couleur / linestyle pour le tracé
colorstyle = ['y -' g. ''Ko: "c *-.'];

pour i = 1:4
;% = Hf chiffre renvoie un chiffre poignée pour une nouvelle figure
Figure (hf)% fixe le chiffre
coeff = polyfit (xy1 :), 1), xy1 :), 2), i);
plot (xy1 :), 1), Polyval (coeff, xy1 :), 1)), colorstyle (i))
prise sur
plot (xy1 :), 1), xy1 :), 2), 'r-')
grille
xlabel ('x valeur »)
ylabel («valeur y ')
intval = int2str (i);% convertir entier en chaîne
titre (['exemple la courbe d'aménagement afin d'ajustement'] intval)

pause (5)% pause 5 secondes
delete (hf)% supprime la figure avec la poignée
finInterpolation
L'interpolation est quand vous avez besoin pour calculer les valeurs de la variable dépendante à des points entre ceux que vous avez.Matlab a routines d'interpolation de plusieurs.interp1 (interpolation pour 1 D), interp2 (interpolation pour 2 D), interp3 (par interpolation 3D), et interpn (pour n D interpolation).Comme nous travaillons avec 2 D courbes que nous allons faire une interpolation D.
% Lu dans un vlue pour x et y interpoler sa valeur

= Entrée xint ("Tapez la valeur de x - être interpolées: ');
yint = interp1 (xy1 :), 1), xy1 :), 2), xint)

% Si vous avez besoin d'interpoler sur Y

yint xint clair

= Entrée yint ("Tapez la valeur de Y - interpolation pour x: ');

xint = interp1 (xy1 :), 2), xy1 :), 1), yint)

Xint = entrée («Un tableau de valeurs pour l'interpolation: ')
% Le tableau doit être mis entre parenthèses carrées
% Et les éléments séparés par des espaces

Yint = interp1 (xy1 :), 1), xy1 :), 2), Xint)Dérivés
Matlab inclut érable parmi ses boîtes à outils.Cette offre une capacité de mathématiques symboliques.Il est donc possible d'obtenir un dérivé d'analyse.Ici, nous sommes intéressés à des dérivés numérique.
Il ya deux façons de calculer des dérivés:En utilisant un ajustement polynomial et en tenant dérivés du polynôme
coeff = polyfit (xy1 :), 1), xy1 :), 2), 3);% un polynôme cubique
coeffder = polyder (coeff);

= Entrée xval («valeur de x où la dérivée est requis: ');

xder = Polyval (coeffder, xval);

disp (['La dérivée à', num2str (xval), «est», num2str (xder)])La valeur de la dérivée peut être obtenue par la mise en place d'un calcul des différences finies - utile pour les éléments finis et des méthodes de différences finies

EPS1 = 0,001; par exemple% de la différence avant première
xder1 = (interp1 (xy1 :), 1), xy1 :), 2), xval PS1)-interp1 (xy1 :), 1), xy1 :), 2), xval)) / EPS1;
disp (['La dérivée à', num2str (xval), «est», num2str (xder1)])Intégration
Il s'agit d'une procédure par laquelle vous estimez l'aire sous la courbe ou la fonction.Il ya des fonctions pour cette tâche.trapz, quad, et quad8.

zone1 = trapz (xy1 :), 1), xy1 :), 2))

Pour utiliser quad et quad8, la fonction doit être définie comme une fonction m-file

 
Salut
Il existe de nombreuses façons, je vais vous dire le plus facile, je suppose que vous avez un vecteur f qui a les valeurs numériques de la fonction échantillonnée et dx est l'intervalle d'échantillonnage.L'aire sous cette fonction est

sum (abs (f)) * dx;

cheers

 

Welcome to EDABoard.com

Sponsor

Back
Top