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

Bremswegberechnung

 

kamigawa
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 09.01.13
Wohnort: ---
Version: 2012b,2019b,2020b
     Beitrag Verfasst am: 09.01.2013, 12:26     Titel: Bremswegberechnung
  Antworten mit Zitat      
Seid gegrüßt,

ich bin ein relativ unerfahrener Matlab-Benutzer und weiß mir bei einigen Aufgaben nur schlecht zu helfen. Es ist nun so das ich eine spezielle Aufgabe habe und ungefähr 75% davon gelöst habe. Der Rest funktioniert nicht und stört mich deshalb.

Es geht um eine Aufgabe für die Bestimmung von mehreren Funktionen beim Bremsen eines Autos.

Das eigene Auto fährt mit 130 km/h und hält einen Abstand von 50 Metern zum Vordermann. Dieser Vordermann fährt selbst auch 130 km/h. Dieser fängt spontan an zu bremsen, dies mit einer konstanten Beschleunigung von 10 m/s^2. Man selbst bremst erst nach 0.3s mit 9 m/s^2.

Nun sollen ein a-t, v-t, s-t und der Abstand durch eine Funktion bestimmt werden.
Dann soll der Abstand zum Vordermann nach dem Stehen der Autos bestimmt werden.
Die Aufgaben sollen nur mit nummerischer Integration gelöst werden.


Mein Lösungsvorschlag sieht so aus:






Code:

function [] = Bremsweg()


v1a=36.11; %eigene Geschwindigkeit
v2a=36.11; % Vordermann Geschwindigkeit
a1=-9; %Bremsbeschleunigung selber
a2=-10; %Bremsbeschleunigung Vordermann
t=0:0.1:7; %Zeitspanne

tstop1=(0-36.11)/-9; %Zeit in der eigenes Auto steht
tstop2=(0-36.11)/-10; %Zeit in der Vordermann steht


%a-t-Diagramm a=const.
subplot(2,2,1)
plot(0.3:0.01:tstop1,-9,'c',0.3,0:-0.01:-9,'c',0:0.01:0.3,0,'c')
hold('on')
plot(0:0.01:tstop2,-10,'r')
plot(0,-10.2)
hold('off')

%v-t-Diagramm a=const
v1m=v1a+a1*(0:0.01:tstop1);
v2m=v2a+a2*(0:0.01:tstop2);
subplot(2,2,2)
plot(0:0.01:0.3,36.11,'b',0.3:0.01:(tstop1+0.3),v1m,'b')
hold('on')
plot(0:0.01:tstop2,v2m,'g',tstop2:0.01:(tstop1+0.3),0,'g')
hold('off')


%Bremsweg-Zeit-Diagramm
Brems1=36.11*(0:0.01:tstop1)+0.5*a1*(0:0.01:tstop1).^2;
Brems2=36.11*(0:0.01:tstop2)+0.5*a2*(0:0.01:tstop2).^2;
maxBrems1=36.11*tstop1+0.5*a1*tstop1^2;
maxBrems2=36.11*tstop2+0.5*a2*tstop2^2;
subplot(2,2,3)
plot(0:0.01:tstop1,Brems1,'m',(tstop2+0.01):0.01:tstop1,maxBrems2,'r',0:0.01:tstop2,Brems2,'r')



%Abstand-Zeit-Diagramm
strecke203=+0.5*a2*(0:0.01:0.3).^2;
abstand03=50+(strecke203);
v103=36.11;
v203=v2a+a2*(0.3);
tstop1x=-v103/a1;
tstop2x=-v203/a2;
strecke1x=v103*(0:0.01:tstop2x)+0.5*a1*(0:0.01:tstop2x).^2;
strecke2x=v203*(0:0.01:tstop2x)+0.5*a2*(0:0.01:tstop2x).^2;
streckediv=(strecke1x-strecke2x);
abstandx=49.55-streckediv;
subplot(2,2,4)
plot((0:0.01:3.62),abstandx)

end
 







Das Problem ist das Abstand-Zeit-Diagramm. Da ist ein Fehler in der letzten Zeile dieser Funktion. Alles andere funktionert einwandfrei.

Ich hoffe das mir jemand helfen kann.
Private Nachricht senden Benutzer-Profile anzeigen


markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 09.01.2013, 12:47     Titel:
  Antworten mit Zitat      
Bei deinem letzten Plot sagt er

Code:

??? Error using ==> plot
Vectors must be the same lengths.

 


Ohne zu gucken ob das so Sinn macht, lässt sich das vlt so fixen

Code:

>> size(abstandx)

ans =

     1   332

>> size(0:0.01:3.62)

ans =

     1   363

>> size(0:0.01:3.31)

ans =

     1   332
 


Also?

Code:

plot((0:0.01:3.31),abstandx)
 

_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 09.01.2013, 14:16     Titel: Re: Bremswegberechnung
  Antworten mit Zitat      
Hallo kamigawa,

Zitat:
Das Problem ist das Abstand-Zeit-Diagramm. Da ist ein Fehler in der letzten Zeile dieser Funktion.

Die letzte Zeile ist "end".
Immer wenn Du im Forum erwähnst, dass ein Fehler auftritt, füge unbedingt die komplette Fehlermeldung bei und erwähne die Zeile, die den Fehler verursacht.

Bisher enthält der Code noch keine numerische Integration.

"abstandx" wird für das Zeitintervall 0:0.01:tstop2x berechnet, Du zeichnest es aber gegen die Zeit 0:0.01:3.62. Dann ist dies naheliegend:
Code:
plot(0:0.01:tstop2x, abstandx)

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
kamigawa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 09.01.13
Wohnort: ---
Version: 2012b,2019b,2020b
     Beitrag Verfasst am: 09.01.2013, 18:58     Titel:
  Antworten mit Zitat      
Verzeiht mir das ich mein Problem nicht formal präsentiert habe. In Zukunft werde ich bei Fragen mehr auf die Form achten.

Ich möchte mich für die Hilfe bedanken da die Funktion nun richtig geplotted wird. Danke nochmals.

mfg kami
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 09.01.2013, 23:15     Titel:
  Antworten mit Zitat      
Hallo kamigawa,

Sorry, ich wollte nicht Deine Frage kritisieren. Ich antworte nur gerne. Und wenn jemand eine Frage stellt und ich weiß, dass er die Fehlermeldung direkt vor Augen hat, und die wie üblich für Matlab wertvolle Hinweise enthält, die ich nur mit großen Mühen aus dem Code herausahnen kann, werde ich sehr neugierig.

3/4 der Fragen, die einen Error betreffen, lassen sich schon mit der vollständigen Meldung und der dazugehörigen Code-Zeile beantworten. Aber wenn einem selbst die Meldung nicht sagt, hält man sie leicht für unnötig und lässt sie beim Posten weg.

Aber das ist natürlich kein Problem hier im Forum und auch nicht-perfekte Frage sind absoult willkommen. Man kann ja einfach nachfragen, falls noch Details fehlen.

Viele Grüße, Jan
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.