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

PSD_Street

 

ThKo26
Forum-Century

Forum-Century


Beiträge: 184
Anmeldedatum: 21.09.17
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 24.10.2017, 11:35     Titel: PSD_Street
  Antworten mit Zitat      
Hallo zusammen,

ich möchte mir die Fahrbahnanregung plotten lassen.
Dazu nutze ich die allgemeine Formel aus dem Buch:
Mitschke Dynamik der Kraftfahrzeuge

Code:

function [freq,fun] = psdStreet(H,Omega0,w,f1,f2,~)
   
 df = 0.0122;%
 Omega0 = 1;
 w = 2;
 H = 2.1;
vel = 1900; % 19m/s --> 1900 cm/s
freq = f1:df:f2;
fun = H*(freq/Omega0).^(-w)/vel/100^2;

freq = freq';
fun = fun';

end

 


ich erhalte folgenden Fehler.

Code:

Not enough input arguments.

Error in psdStreet (line 8)
freq = f1:df:f2;
 


es fehlen mir Inputs argumente. f1:df:f2

ich würde f1 = 0 und f2 = 20 nutzen.

ein weiterer Schritt ist, das Ergebnis zu plotten.

im folgenden Bild ist die Darstellung, die ich erzeugen möchte.

Danke für die Hilfe.

Viele Grüße

road_psd2.PNG
 Beschreibung:

Download
 Dateiname:  road_psd2.PNG
 Dateigröße:  26.2 KB
 Heruntergeladen:  254 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.10.2017, 13:55     Titel:
  Antworten mit Zitat      
Hallo,

und wie rufst du die Funktion auf?

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

Forum-Century

Forum-Century


Beiträge: 184
Anmeldedatum: 21.09.17
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 24.10.2017, 14:51     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

und wie rufst du die Funktion auf?

Grüße,
Harald


Hallo Harald,

ich verstehe deine Frage leider nicht.

Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.10.2017, 15:37     Titel:
  Antworten mit Zitat      
Hallo,

du hast eine Funktion gepostet. Bei einer Funktion ist der "Run"-Button recht sinnfrei, denn die Funktion braucht ja Eingabeargumente. Du musst sie also etwa so aufrufen:

Code:
[freq,fun] = psdStreet(2.1, 1, 2, 0, 20)


Es ist übrigens nicht sinnvoll, Eingabeargumente einer Funktion (hier: H, Omega0, w) in der Funktion direkt zu überschreiben.

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

Forum-Century

Forum-Century


Beiträge: 184
Anmeldedatum: 21.09.17
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 24.10.2017, 16:05     Titel:
  Antworten mit Zitat      
hallo Harald,

danke für die Rückmeldung.

Ich habe die function gar nicht aufgerufen. Ich habe die Function einfach laufen lassen und mir die Ergebnisse plotten lassen. habe die Function wie folgt erweitert.
Code:
function [freq,fun] = psdStreet(H,Omega0,w,f1,f2,~);
   
df = 0.0122;            % Frequenzabstand
Omega0 = 1;             % BezugsWegkreisfrequenz [rad/m]
w = 2;                  % Welligkeit der Fahrbahn im Bereich 1,7-2,2
H = 2.1;                % absolute Höhe der unebenheit [m]
f1 = 0;                 % Beginn Frequenz
f2 = 20;                % Ende Frequenz
vel = 19;               % 19m/s --> 1900 cm/s
freq = f1:df:f2;        % Frequenzband

%fun = (vel*H*Omega0.^2)/(freq.^2*vel.^2); % gilt nur für eine Welligkeit von 2
fun = H*(freq/Omega0).^(-w)/vel/100^2;

%freq = freq';
%fun = fun';


subplot (2,1,1);
plot (freq,fun);
subplot (2,1,2);
loglog (fun);

end
 


Viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.10.2017, 16:07     Titel:
  Antworten mit Zitat      
Hallo,

das ist wie gesagt nicht der Sinn einer Funktion. Wenn du das so schreiben möchtest, ist es sinnvoller, ein Skript daraus zu machen - also die erste Zeile (function ...) wegzulassen.

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

Forum-Century

Forum-Century


Beiträge: 184
Anmeldedatum: 21.09.17
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 24.10.2017, 16:20     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

das ist wie gesagt nicht der Sinn einer Funktion. Wenn du das so schreiben möchtest, ist es sinnvoller, ein Skript daraus zu machen - also die erste Zeile (function ...) wegzulassen.

Grüße,
Harald



okay, das habe ich verstanden und habe es abgeändert.

Code:

>> psdStreet_function
Error using  /
Matrix dimensions must agree.

Error in psdStreet_function (line 12)
fun = vel*H*Omega0.^2 /freq.^2*vel.^2; % gilt nur für eine Welligkeit von 2
 


erhalte aber folgenden Fehler, wenn ich die andere Formel verwende.

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