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

Punktoperator!!! Wo soll ich einsetzen?

 

katy297878
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 26.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2013, 01:58     Titel: Punktoperator!!! Wo soll ich einsetzen?
  Antworten mit Zitat      
Hallo Leute,
ich habe ein Problem mit Grafikerstellung. Ich möchte eine Grafik erstellen. Der Grundvariant ist das Fahrzeuggewicht. Es gibt aber viele Zwischen Rechnungen. Ich habe probiert zu zeichnen. Es macht aber nur die Gerade, wenn ich den Punktoperator benutze. Kann jemand mir bitte Helfen? Mein Programm sieht so aus:

Code:
%Grafik die Seitenführungskraft in Abhängigkeit der Normalkraft
clear all
clc
close all

%   Eingabedaten Fahrzeug:

     
%
   
     l      = 2.4           ;   %Radstand
     lv     = 0.96           ;   %Abstand SP von VA
     lh     = l - lv        ;   %Abstand SP von HA
     h      = 0.6          ;   %SP-Höhe
     s      = 1.6           ;   %Spurweite vorn und hinten sind gleich
     azg    = 0.5           ;   %Querbeschleunigung zur Erdbeschleunigung    
%   Reifendaten:
   
   wstat       =   0.12          ;   %statische Wanksteifigkeit
   FNR0        =   3000          ;   %mittlere statische Radlast
   FQRmax0     =   2700          ;   %maximale Querkraft am Rad bei Fn0
   eps         =   0.10          ;   %Degressivitätsfaktor
   alphagrdg   =   12.00         ;   %Grenz-Schräglaufwinkel in deg
   alphagr     =   alphagrdg*pi/180   ;   %Grenz-Schräglaufwinkel in rad
   
% Fahrzeugsgewichtänderung

FG     = 6000:20:19000         ;   %Fahrzeuggewicht

%   Querkraft pro Achse:
   
    FQV     = FG*azg*lh/l ;
   
%   Wanksteifigkeit berechnen:

    cRV      = FG*(lh/l)/(2*wstat); %Radaufstandsteifigkeit vorne
    cRH      = FG*(lv/l)/(2*wstat); %Radaufstandsteifigkeit hinten
    cWV      = 0.5*cRV*s.^2       ; %Wanksteifigkeit vorne
    cWH      = 0.5*cRH*s.^2       ; %Wanksteifigkeit hinten
    cWges    = cWV+cWH            ; %Gesamtwanksteifigkeit
 
%  Radlast berechnen:
   
    FNRVa   = 0.5*FG*lh/l + cWV/cWges*FG*azg*h/s ;
    FNRVi   = 0.5*FG*lh/l - cWV/cWges*FG*azg*h/s ;
   
%  Normalkrafteinflussfaktor:

    fNVa    = FNRVa/FNR0*(1-eps*(FNRVa/FNR0)^2)/(1-eps) ;
    fNVi    = FNRVi/FNR0*(1-eps*(FNRVi/FNR0)^2)/(1-eps) ;
   
    qV    = FQV/(fNVa+fNVi)/FQRmax0;

    zetaV = 1-sqrt(1-qV) ;
   
%   Querkräfte:

    FQRVa = fNVa*zetaV*(2-zetaV)*FQRmax0 ;
    plot(FNRVa,FQRVa);
    hold on;


title('Die Seitenführungskraft in Abhängigkeit der Normalkraft');
xlabel('Normalkraft am äußeren Vorderrad in N');
ylabel('Seitenführungskraft in N');


Ich habe eine Frafik bei, sie soll so aussehen!

[EDITED, Jan, Bitte Code-Umgebung benutzen - Danke!]

Abb3 Normal_Querkraft.jpg
 Beschreibung:

Download
 Dateiname:  Abb3 Normal_Querkraft.jpg
 Dateigröße:  24.75 KB
 Heruntergeladen:  635 mal
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 26.08.2013, 09:59     Titel:
  Antworten mit Zitat      
hallo katy
Code:

dieser header ist ein sehr verbreitetr anfängerfehler und macht das debuggen unmöglich. warum man das nicht machen sollte wird hier in jedem 2. post besprochen und ich werde da nicht weiter drauf eingehen Smile
wenn du code postest bitte benutze die code umgebung.
Zitat:
Es macht aber nur die Gerade, wenn ich den Punktoperator benutze
wo? wann? was soll er sonst machen? welche fehlermeldungen? alles angaben die helfen damit man nicht so viel raten muss ^^
du hast einige male matrixmultiplikation anstadt elementmultiplikation gemacht. was meinst du also ? meistens meinst du denke ich elementweise multiplikation. das sagt einem übrigens sogar die fehlermeldung ^^
Zitat:
To compute elementwise POWER, use POWER
(.^) instead.

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
katy297878
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 26.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2013, 12:31     Titel:
  Antworten mit Zitat      
Hallo Winkow, hallo Leute
es tut mir Leid. Ich habe leider alles vertan. Ich wollte einen anderen Code posten. Jetzt erkläre euch das Problem.

Code:
% Das ist mein Programm.

% Dieses Programm erzeugt ein Diagramm. Das Diagramm stellt die Abhängigkeit
% des Schräglaufwinkels für vorde Achse aus der Querbeschleunigung mit
% verschiedenen Schwerpunkthöhen
   

 
% Fahrzeugdaten:

        FG     = 12000         ;   %Fahrzeuggewicht
        l      = 2.4           ;   %Radstand
        lv     = 0.96          ;   %Abstand SP von VA
        lh     = l - lv        ;   %Abstand SP von HA
        s      = 1.6           ;   %Spurweite vorn und hinten sind gleich
       

   
%   Reifendaten:

     FNR0        =   3000          ;   %mittlere statische Radlast
     FQRmax0     =   2700          ;   %maximale Querkraft am Rad bei Fn0
     eps         =   0.10          ;   %Degressivitätsfaktor
     alphagrdg   =   12.00         ;   %Grenz-Schräglaufwinkel in deg
     alphagr     =   alphagrdg*pi/180   ;   %Grenz-Schräglaufwinkel in rad

%   Allgemeine Daten:

    r          = 100                ;   %Kreisradius
    deltaAck   = l/r                ;   %Delta Ackermann in Radian
    deltaAckdg = deltaAck*180/pi    ;   %Delta Ackermann in Degree
    betaAck    = lh/r               ;   %BetaAckermann
    betaAckgr  = betaAck*180/pi     ;   %BetaAckermann in Degree
    wstat      = 0.12               ;   %Statitische Wanksteifigkeit
 

%   Wanksteifigkeit berechnen:
   
    cRV = 0.5*FG*lh/l/wstat     ;
    cRH = 0.5*FG*lv/l/wstat     ;
    cWV = cRV*s.^2/2            ;
    cWH = cRH*s.^2/2            ;
   
 for h=0.64:0.48:1.6                 %Verlauf der Schwerpunkthöhe
   
    azg=0:0.001:1;
   
   
%  Radlast berechnen:

    FNRVa   = 0.5*FG*lh/l + cWV/(cWV+cWH)*FG*azg*h/s ;
    FNRVi   = 0.5*FG*lh/l - cWV/(cWV+cWH)*FG*azg*h/s ;
    FNRHa   = 0.5*FG*lv/l + cWH/(cWV+cWH)*FG*azg*h/s ;
    FNRHi   = 0.5*FG*lv/l - cWH/(cWV+cWH)*FG*azg*h/s ;
 
%   Querkraft hinter Achse:
   
    FQV     = FG*azg*lh/l ;
    FQH     = FG*azg*lv/l ;
   
%   Normalkrafteinflussfaktor:
   
    fNVa    = FNRVa./FNR0.*(1-eps*(FNRVa/FNR0).^2)/(1-eps) ;
    fNVi    = FNRVi./FNR0.*(1-eps*(FNRVi/FNR0).^2)/(1-eps) ;
    fNHa    = FNRHa./FNR0.*(1-eps*(FNRHa/FNR0).^2)/(1-eps) ;
    fNHi    = FNRHi./FNR0.*(1-eps*(FNRHi/FNR0).^2)/(1-eps) ;
   
%   Schräglaufwinkel:

    %qH    = FQH/(fNHa+fNHi)/FQRmax0 (1)    
    %zetaH = 1-sqrt(1-qH)            (2)
   
%   Von Gl. 1 und 2:
   
    %zetaH = 1-sqrt(1-FQH/(fNHa+fNHi)/FQRmax0) (3)
   
%   Aus Formeln:
 
    %alphaH   = zetaH*alphagr                  (4)
    %alphaHdg = alphaH*180/pi                  (5)
   
   
%   Aus Gl. 3, 4 und 5 folgt:    
%   Die Endgleichungen

    alphaHdg=(1-sqrt(1-FG*azg*(lv/l)/(fNHa+fNHi)/FQRmax0))*alphagr*180/pi;

    plot(azg,alphaHdg) ;
    hold on;
   
    qV    = FQV/(fNVa+fNVi)/FQRmax0;
    qH    = FQH/(fNHa+fNHi)/FQRmax0;
    if (qV>=1)||(qH>=1)   %Bruchkriterium für for Schleife

        str5=['Maximal erreichbare Querbeschleunigung = ' ...
              num2str(azg-0.01) ' ']; % Minus 0,01 damit alles wieder bestimmt
          disp(str5);
          break
    end
   

    verhaeltnis=h/s;
    str1=['  h/s = ' num2str(verhaeltnis) '   '];
    text(azg,alphaHdg,str1);
   
end
 
ylabel('Schräglaufwinkel in Degree');
xlabel('Querbeschleunigung a/g');
title('Abhängigkeit des Schräglaufwinkels hinter Achse von der Querbeschleunigung');
   
 


Am Anfang meldet das PRogramm Fehler:
??? Error using ==> mpower
Inputs must be a scalar and a square matrix.

Error in ==> G_Schraeglaufwinkel_H_Diagramm at 61
fNVa = FNRVa/FNR0*(1-eps*(FNRVa/FNR0)^2)/(1-eps) ;


dann habe ich den Punktoperator in den vier Gleichungen benutzt:

fNVa = FNRVa./FNR0.*(1-eps*(FNRVa/FNR0).^2)/(1-eps) ;
fNVi = FNRVi./FNR0.*(1-eps*(FNRVi/FNR0).^2)/(1-eps) ;
fNHa = FNRHa./FNR0.*(1-eps*(FNRHa/FNR0).^2)/(1-eps) ;
fNHi = FNRHi./FNR0.*(1-eps*(FNRHi/FNR0).^2)/(1-eps) ;

dan kommt Gerade wie bild 2. und noch eine Fehlermeldung:

??? Error using ==> text
X and Y must be the same length

Error in ==> G_Schraeglaufwinkel_H_Diagramm at 102
text(azg,alphaHdg,str1);


Die Grafik habe ich mit for-Schleife für azg wie im Bild 1 erstellt. Sie ist aber nich flexibel, das heißt, man kann nicht die Liniendicke ändern. Außerdem dauert den Vorgang richtig länger als normal. Ich möcthe jetzt ganz nornal plotten. Ich brauche auch ein Bruckkriterium bei maximale erreichbare Querbeschleunigung, das heißt bei max. Beschleunigung plottet es nicht mehr. Ich habe in for Schleife so benutzt:

if (qV>=1)||(qH>=1) %Bruchkriterium für for Schleife

str5=['Maximal erreichbare Querbeschleunigung = ' ...
num2str(azg-0.01) ' ']; % Minus 0,01 damit alles wieder bestimmt
disp(str5);
break
end


Kann jemand mir bitte helfen? Es ist mir sehr wichtig, weil es um meine Bachelorarbeit geht. Jede Hilfe von euch ist mir sehr dankbar.
viele Grüße!

Schraeglauf.jpg
 Beschreibung:

Download
 Dateiname:  Schraeglauf.jpg
 Dateigröße:  24.05 KB
 Heruntergeladen:  614 mal
gerade.jpg
 Beschreibung:

Download
 Dateiname:  gerade.jpg
 Dateigröße:  12.54 KB
 Heruntergeladen:  648 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 26.08.2013, 12:50     Titel:
  Antworten mit Zitat      
Code:
alphaHdg=(1-sqrt(1-FG*azg*(lv/l)./(fNHa+fNHi)/FQRmax0))*alphagr*180/pi;

du hast da noch einmal matrix multiplikation. denke nicht das es das war was du meinstest. denke du meintest elementweise. wenn du die linendicken nachtäglich endern willst musst du dir den plothandle mit abspeichern.
Code:
plothandle(h)=plot...
dann kannst du da nachträglich noch die linienstärke etc mit einstellen.
die fehlermeldung beim text kam weil dein alphahdg nur eine zahl war und kein array. es ist aber trotzdem nicht das was du machen willst denke ich. wo der text stehen soll must du nochmal genau beschreiben dann. wobei sich aber auch legend anbieten würde beim plot.
also so in der art
Code:

        FG     = 12000         ;   %Fahrzeuggewicht
        l      = 2.4           ;   %Radstand
        lv     = 0.96          ;   %Abstand SP von VA
        lh     = l - lv        ;   %Abstand SP von HA
        s      = 1.6           ;   %Spurweite vorn und hinten sind gleich
       

   
%   Reifendaten:

     FNR0        =   3000          ;   %mittlere statische Radlast
     FQRmax0     =   2700          ;   %maximale Querkraft am Rad bei Fn0
     eps         =   0.10          ;   %Degressivitätsfaktor
     alphagrdg   =   12.00         ;   %Grenz-Schräglaufwinkel in deg
     alphagr     =   alphagrdg*pi/180   ;   %Grenz-Schräglaufwinkel in rad

%   Allgemeine Daten:

    r          = 100                ;   %Kreisradius
    deltaAck   = l/r                ;   %Delta Ackermann in Radian
    deltaAckdg = deltaAck*180/pi    ;   %Delta Ackermann in Degree
    betaAck    = lh/r               ;   %BetaAckermann
    betaAckgr  = betaAck*180/pi     ;   %BetaAckermann in Degree
    wstat      = 0.12               ;   %Statitische Wanksteifigkeit
 

%   Wanksteifigkeit berechnen:
   
    cRV = 0.5*FG*lh/l/wstat     ;
    cRH = 0.5*FG*lv/l/wstat     ;
    cWV = cRV*s.^2/2            ;
    cWH = cRH*s.^2/2            ;
    count=0;
    str1=[];
    color=jet(length(0.64:0.48:1.6));
 for h=0.64:0.48:1.6                 %Verlauf der Schwerpunkthöhe
    count=count+1;
    azg=0:0.001:1;
   
   
%  Radlast berechnen:

    FNRVa   = 0.5*FG*lh/l + cWV/(cWV+cWH)*FG*azg*h/s ;
    FNRVi   = 0.5*FG*lh/l - cWV/(cWV+cWH)*FG*azg*h/s ;
    FNRHa   = 0.5*FG*lv/l + cWH/(cWV+cWH)*FG*azg*h/s ;
    FNRHi   = 0.5*FG*lv/l - cWH/(cWV+cWH)*FG*azg*h/s ;
 
%   Querkraft hinter Achse:
   
    FQV     = FG*azg*lh/l ;
    FQH     = FG*azg*lv/l ;
   
%   Normalkrafteinflussfaktor:
   
    fNVa    = FNRVa./FNR0.*(1-eps*(FNRVa/FNR0).^2)/(1-eps) ;
    fNVi    = FNRVi./FNR0.*(1-eps*(FNRVi/FNR0).^2)/(1-eps) ;
    fNHa    = FNRHa./FNR0.*(1-eps*(FNRHa/FNR0).^2)/(1-eps) ;
    fNHi    = FNRHi./FNR0.*(1-eps*(FNRHi/FNR0).^2)/(1-eps) ;
   
%   Schräglaufwinkel:

    %qH    = FQH/(fNHa+fNHi)/FQRmax0 (1)    
    %zetaH = 1-sqrt(1-qH)            (2)
   
%   Von Gl. 1 und 2:
   
    %zetaH = 1-sqrt(1-FQH/(fNHa+fNHi)/FQRmax0) (3)
   
%   Aus Formeln:
 
    %alphaH   = zetaH*alphagr                  (4)
    %alphaHdg = alphaH*180/pi                  (5)
   
   
%   Aus Gl. 3, 4 und 5 folgt:    
%   Die Endgleichungen

    alphaHdg=(1-sqrt(1-FG*azg*(lv/l)./(fNHa+fNHi)/FQRmax0))*alphagr*180/pi;

    plothandle(count)=plot(azg,alphaHdg,'color',color(count,:)) ;
    verhaeltnis=h/s;
    str1{count}=['  h/s = ' num2str(verhaeltnis) '   '];
   
    hold on;
   
    qV    = FQV/(fNVa+fNVi)/FQRmax0;
    qH    = FQH/(fNHa+fNHi)/FQRmax0;
    if (qV>=1)||(qH>=1)   %Bruchkriterium für for Schleife

        str5=['Maximal erreichbare Querbeschleunigung = ' ...
              num2str(azg-0.01) ' ']; % Minus 0,01 damit alles wieder bestimmt
          disp(str5);
          break
    end
   

   
    %text(azg,alphaHdg,str1);
   
end
legend(str1)
ylabel('Schräglaufwinkel in Degree');
xlabel('Querbeschleunigung a/g');
title('Abhängigkeit des Schräglaufwinkels hinter Achse von der Querbeschleunigung');

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
katy297878
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 26.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2013, 01:01     Titel:
  Antworten mit Zitat      
Das hat super funktioniert, danke Winkow. Ich muss nur noch bisschen Kleinigkeiten erledigen. Schönen Tag Noch euch alle!
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 - 2025 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.