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

Fläche eines Polygons mit Integraladdition

 

anne.s
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 27.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2018, 12:53     Titel: Fläche eines Polygons mit Integraladdition
  Antworten mit Zitat      
Hallo liebes Forum,
ich möchte gerne die Fläche eines Polygons berechnen, von dem ich die Koordinaten der Punkte kenne (siehe unten). Die mathematische Vorgehensweise ist mir dabei eigentlich klar (hoffe ich zumindest), das Programm, was ich dazu geschrieben habe, hängt allerdings noch an der Ausgabe der verschiedenen linearen Funktionen und der Bildung der Stammfunktion. Kann mir jemand sagen, was ich falsch mache. Ich habe das Gefühl, es liegt an der Variablen z und an der Funktion, die ich bilden möchte, aber mir ist das Problem nicht richtig klar. Außerdem weiß ich nicht genau, wie ich in die Stammfunktion dann die Grenzen einsetzen kann. Oder gibt es einen Befehl, mit dem ich das kürzer hinbekomme, also der mir gleich den Wert meiner Stammfunktion ausspuckt, wenn ich die Grenzen eingebe? Über Hilfe wäre ich sehr dankbar.
Liebe Grüße
Anne

_________________________________
Code:

% Eingabevektoren und Eingabewerte
x = [0 2 2 0];
y = [0 0 2 2];
A = 0;
syms z

% Für jedes Segment des Polygons ermitteln wir eine lineare Funktion
n = length(x);
for i = 1 : n-1
 
  % Funktion ermitteln, indem die Koeff. m und n ermittelt werden (y = m*x + n)
  coefficients = polyfit([x(i), x(i+1)], [y(i), y(i+1)], 1);
  m = coefficients (1);
  n = coefficients (2);

 % Hier müssen jetzt die versch. lin. Funktionen draus gemacht werden
  (f(i))(z) = m*z + n
 
  % Hier muss das Integral entweder addiert oder subtrahiert werden. Wenn xi kleiner als xi+1, dann addieren wir das Integral, andersherum subtrahieren wir das Integral.
  if (x(i) < x(i+1))
    % Stammfunktion für jede Funktion bilden
    St = int(f(i));
   % jetzt möchte ich eigentlich die Grenzen einsetzen und den Wert berechnen, jeweils wieder für jeden Sektor
    Ai =
  else
    A = A - Ai;
  endif
 
endfor

fprintf('Der Flaecheninhalt A des Polygons ='), disp(A)
 
Private Nachricht senden Benutzer-Profile anzeigen


J0nas
Forum-Century

Forum-Century


Beiträge: 208
Anmeldedatum: 10.09.15
Wohnort: ---
Version: ab 2016a
     Beitrag Verfasst am: 27.07.2018, 13:09     Titel:
  Antworten mit Zitat      
Hallo Anne,

beim Erstellen von deiner linearen Funktion:
Code:
f(i) = m*z + n


Grenzen beim Integral angeben:
Code:
int(f(i),[UNTERE_GRENZE OBERE_GRENZE])


Schleifen und If-Abfragen werden in Matlab mit "end" abgeschlossen und nicht mit "endfor" und "endif" Wink

Grüße
Jonas
_________________

1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) 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.