Ich habe ein Problem bei der Bestimmung meiner Randbedingungen für mein Gebiet. Das Ganze soll eine Dreiecksfläche sein, auf der eine Funktion abgebildet werden kann. Wie kann ich dafür meine Ränder definieren? Die Vertikale sowie Horizontale sind ja kein Problem, jedoch weiß ich nicht, wie ich mit der Diagonalen/Schräge umzugehen habe. Die eigentliche Matrix ist schon erstellt. Kann mir da jemand weiterhelfen?
%Hier werden zunächst die Ecken des Dreiecks definiert. Die Eckpunkte sind
%die vom Benutzer gewählte "Mx und My"
Ecke1=[0,0];
Ecke2=[Mx,0];
Ecke3=[0,My];
%Nun wird das Gitter erzeugt.
%Das Programm stellt das Gitter in der beliebig gewählten Schrittweite h
%bis zum eingegebenen Punkt Mx dar.
x=0:h:Mx;
y=0:k:My;
%An dieser Stelle wird das Dreieck erstellt.
ecken=[Ecke1;Ecke3;Ecke2;Ecke1];
% px und py tragen Spalten über Zeilen der Werte von x und y auf
px=ecken(:,1); py=ecken(:,2);
%Nun werden nur die Punkte berücksichtigt, die sich innerhalb der
%Dreiecksbegrenzungen liegen. Die auf der Begrenzung liegenden werden nicht
%berücksichtigt.
[in on]=inpolygon(X,Y,px,py);
in=in & ~on;
%Der nachfolgende Befehl ist eine Alternative zu der von uns gewählten
%Möglichkeit:
%in=logical(in-on);
% Nachfolgend wird ein Fenster für die Darstellung erzeugt. figure(1)
%Das Gitter wird geplottet und die Achsen erstellt.
plot(X,Y,'k'); hold on; axis([0, Mx, 0, My]) plot(X',Y','k')
%Die Figur wird gezeichnet und die Punkte mit einem blauen Stern in der
%Strichstärke 1 markiert.
plot(px,py,X(in),Y(in),'b*','LineWidth',1) plot(px,py,X(on),Y(on),'m*','LineWidth',1)
for kk=1:Mx
kp=kk+1;
km=kk-1;
jj=(Mx-1)*Mx+kk;
%rhs(1+km+Mx)=rhs(1+km*Mx)+uL(kp);
rhs(kk*Mx)=rhs(kk*Mx)+uR(kp);
%rhs(kk)=rhs(kk)+uB(kp);
end
%% Aufbau der Matrix
%In diesem Abschnitt wird nun die Matrix des Gebietes erzeugt. Dabei wird
%auf die vom Benutzer eingegebenen Angaben zurückgegriffen.
%Als Vorlage hierfür diente eine handschriftliche Skizze.
Hey Carl, wir haben dein Beitrag mit viel interesse verfolgt, da wir ein sehr ähnliches Projkt für die FH mache müßen. Daher würden wir gerne wissen, ob du schon weitergekommen bist mit den Randbedingungen?
Grüße aus Hamburg
René und Lars
Einstellungen und Berechtigungen
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
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.