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

Integralberechnung

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.11.2020, 17:38     Titel: Integralberechnung
  Antworten mit Zitat      
Hallo, ich muss eine Funktion über Matlab auswerten (siehe Bild). Dazu habe ich zwei Messreihen, die in den Vektoren va und offset stehen.
Ich habe mich mal an dem simpel erscheinenden Befehl integral() probiert, bekomme hierfür aber eine lange Fehlermeldung, die ich nicht wirklich verstehe. Aus der Doku werde ich auch nicht schlauer. Für i=1 funktioniert der Befehl, danach nicht mehr. Kann mir jemand dabei helfen?



Code:
data=readtable('v_offset.txt');
va_t=data(:,1);
va=table2array(va_t);
offset_t=data(:,2);
offset=table2array(offset_t);

%Vektor für Tiefe
z=zeros(1,58);
z_s=transpose(z);

%funktion definieren
fw=@(x,s)(1/pi)*acosh(va(s)/va(x));

for i=1:58
        z_s(i)=integral(@(x) fw(x,i),1,i);
end

plot(offset,z_s,'.-.');

 



>>
Array indices must be positive integers or logical values.

Error in wiechert_tiefe>@(x,s)(1/pi)*acosh(va(s)/va(x))

Error in wiechert_tiefe>@(x)fw(x,i)

Error in integralCalc/iterateScalarValued (line 314)
fx = FUN(t);

Error in integralCalc/vadapt (line 132)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);

Error in integralCalc (line 75)
[q,errbnd] = vadapt(@AtoBInvTransform,interval);

Error in integral (line 8Cool
Q = integralCalc(fun,a,b,opstruct);

Error in wiechert_tiefe (line 20)
z_s(i)=integral(@(x) fw(x,i),1,i);

funktion.PNG
 Beschreibung:

Download
 Dateiname:  funktion.PNG
 Dateigröße:  8.21 KB
 Heruntergeladen:  116 mal


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.11.2020, 20:02     Titel:
  Antworten mit Zitat      
Hallo,

integral ist für Funktionen gedacht, die an beliebigen Stützpunkten ausgewertet werden können. Das geht nicht, wenn du nur eine Wertetabelle hast. Da würde ich dann trapz verwenden.
Dass der Befehl für 1 funktioniert hat, dürfte daran liegen, dass 1 ja auch die untere Grenze ist. Da muss also die Funktion gar nicht ausgewertet werden, man weiß direkt, dass das Integral 0 ist.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.11.2020, 20:50     Titel:
  Antworten mit Zitat      
Danke für den Hinweis zu integral() und trapz() Smile

Nach ein bisschen Probieren habe ich immerhin einen Plot, von dem ich zwar nicht weiß, ob er richtig ist, aber ich werde weiter dran arbeiten
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.11.2020, 21:03     Titel:
  Antworten mit Zitat      
Hallo,

für weitere Unterstützung bitte genauer schreiben, was der aktuelle Stand ist.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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 - 2024 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.