WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Integration einer Funktion, bestehend aus einer Matrix

 

daemonicvs
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 11.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.05.2011, 18:33     Titel: Integration einer Funktion, bestehend aus einer Matrix
  Antworten mit Zitat      
hi,

folgendes problem:

ich habe eine (m x n) matrix mit n=2 und m>>n. also sie sieht so aus:

x=[a11 a12
a21 a22
..... ]

wenn ich jetzt x plotte wird ja zb a12 über a11 geplottet. es wird also eine funktion geplottet, also is die 1. spalte meine abszisse is und die 2. spalte meine ordinate. nun möchte ich diese funktion in einem intervall integrieren. wie mach ich das? ich habe es schon mit trapz(x) probiert und bekomme dann folgendes als ausgabe:

1.0e+004 *

-0.0000 1.2148

ka, was das bedeuten soll und wie ich denn richtig integrieren kann. bitte um hilfe Smile

schöne grüße
Private Nachricht senden Benutzer-Profile anzeigen


daemonicvs
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 11.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2011, 13:42     Titel:
  Antworten mit Zitat      
ich würde meine problemstellung gerne besser definieren:

ich habe eine (2 x 5002) matrix. das sind messwerte. wenn ich mir meine matrix definiere mit
a=[a111 a12
...........
an1 & an2]

und dann plotte, zeichent er mir ne schöne funktion. nun möchte ich diese funktion in einem intervall integrieren. nun würde ich meine matrix quasi als funktion f(x) definieren, sodass ich einfach f(x) integrieren kann. geht das so? wie geht das? ich habs mit function und einer for schleife versucht, aber iwie kann ich die beiden sachen nich in einklang bringen.

meine function, die ich als f.m speicher:

function y=f(x);
y=(c(n)-c(n-1))/(b(n)-b(n-1))*x;

hier sind natürlich c und b unbekannt. daher in meiner mail file:

b=-a(:,1);
c=-a(:,2);

n=5002;

for m=1:n;
f(x)=(c(n)-c(n-1))/(b(n)-b(n-1));
end

ich möchte die fkt durch die steigung m definieren, indem ich alle steigungen ausrechnen. der y-achsenabschnitt ist 0.

das funktioniert natürlich nich. aber wir bekomm ich das zum laufen? kann ich evtl noch anders integrieren? habs auch mal mit trapz versucht... wenn ihr meint, damit geht das, dann kann ichs nochma versuchen aber bräuchte noch n paar tipps.

schöne grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.05.2011, 14:51     Titel:
  Antworten mit Zitat      
Hallo,

probiers mal mit
Code:
trapz(x(:,1), x(:,2))

Siehe Doku zur Erklärung.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
daemonicvs
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 11.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2011, 14:12     Titel:
  Antworten mit Zitat      
hi,

danke für die antwort.

ich habs jetzt mal mit trapz probiert. ich habe jetzt folgendes stehen (a is meine matrix):

b=-a(:,1);
c=-a(:,2);

x=6.5e-08:0.1e-08:1.45e-07;
y=c(217):c(296);

z=trapz(x, y);

also bei x=6.5e-08 ist y=c(217) und bei x=1.45e-07 ist y=c(296). die schrittweite bei x hab ich angepasst, damit die länge von x und y gleich sind. nun weiß ich aber nich, ob das ergebnis richtig is ^^ v.a. wegen des intervalls. ich bekomm z= 9.1532e-006. also, wär denn der weg richtig? würde ich so was gescheites rausbekommen?
hier mein plot des gesamten graphen mit der fläche, die ich berechnen möchte:



die sklarierung der x-achse kann ich nich nachvollziehen. vllt fehlen da einfach n paar 10er potenzen ^^

schöne grüßen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.05.2011, 14:49     Titel:
  Antworten mit Zitat      
Hallo,

ich vermute, du meinst eigtl.
Code:
c(217:296)

Zum Aussehen des Plots: vielleicht hast du die x-Werte nicht angegeben. Besser ist:
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
daemonicvs
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 11.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2011, 16:37     Titel:
  Antworten mit Zitat      
hi!! ich glaub so haut es hin!!! danke!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.