goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Einstieg in das Programmieren mit MATLAB

Fachkräfte:
Testingenieur (w/m) Testframework für Simulink-basierte Echtzeitanwendungen
Pflege des MATLAB/Simulink-Testframeworks, Spezifizieren von Testkriterien, Testfällen und Testszenarien
dSPACE GmbH - Paderborn

Softwareentwickler MATLAB/Simulink (w/m)
Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLink
dSPACE GmbH - Paderborn

Testingenieur (w/m) Konfigurationswerkzeuge für Echtzeitsysteme
Einbinden von Simulink®-Simulationsmodellen, Verteilung der Simulationsmodelle auf Multicore- und Multiprozessorsysteme
dSPACE GmbH - Paderborn

Techniker als Systemspezialist/in für Test und Absicherung (Automotive)
Testing und Absicherung von Steuergeräte-Softwarefunktionen und deren Vernetzung auf Komponenten- und Systemebene
ESG Elektroniksystem- und Logistik-GmbH - Wolfsburg

E-Drive Funktionsentwickler mit Programmierkenntnissen (m/w)
Entwicklung von Optimierungs- und Betriebsstrategien
MBtech Group GmbH & Co. KGaA - Sindelfingen bei Stuttgart, Mannheim

weitere Angebote

Partner:




Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

plot2d -Erstes und zweites Argument: inkomplatible Dimension

 

freakn_weasel
Forum-Newbie
Forum-Newbie

Beiträge: 1
Anmeldedatum: 22.05.11
Wohnort: NRW
Version: ---
     Beitrag Verfasst am: 22.05.2011, 11:50     Titel: plot2d -Erstes und zweites Argument: inkomplatible Dimension
  Antworten mit Zitat      
Hier mal ein ganz blödes Problem:
Ich will eigentlich nur eine relativ einfache Funktion plotten.
Und zwar hiermit:
Code:

// Funktionenplot
t1=[0:0.001:0.06];
g=9.81;
h=3;
FM1=18000;
dt1=0.06;
m=20;
y=(FM1*t1)/(dt1*(g*t1^2*0.5-FM1*t1^3/(6*dt1*m)+sqrt(2*g*h)));
plot2d(t1,y);
 


Heraus kommt leider immer das:
-->y=(FM1*t1)/(dt1*(g*t1^2*0.5-FM1*t1^3/(6*dt1*m)+sqrt(2*g*h)));
-->plot2d(t1,y);
plot2d(t1,y);
!--error 999
plot2d: Erste(s) und zweite Argumente haben inkompatible Dimension.
at line 10 of exec file called by :
524_\LOAD_INTO_SCILAB-4306933309320977158.sce', 1
while executing a callback




Wenn ich den Zähler (FM1*t1) aus dem y herausnehme, plottet er ohne zu murren. Was habe ich übersehen? Thx
Private Nachricht senden Benutzer-Profile anzeigen


aj.geissler
Forum-Century
Forum-Century


Beiträge: 230
Anmeldedatum: 26.11.07
Wohnort: Seeheim-Jugenheim
Version: ---
     Beitrag Verfasst am: 26.05.2011, 11:33     Titel:
  Antworten mit Zitat      
Hi,

deine Variable t1 ist ein Vektor mit 61 Elementen und deine Variable y hingegen ein Skalar.

Um die Elemente von Vektoren elementweise zu verrechnen, muß anstelle von
* -> .*
/ -> ./
etc. angewendet werden.

In der Zeile, in der y berechnet wird, bitte z.B. folgendes angeben:
Code:

y=(FM1 .*t1) ./(dt1*(g .*(t1 .^2) .*0.5 - FM1 .*(t1^3) ./(6*dt1*m) + sqrt(2*g*h)));
 


Das müsste dann funktionieren.

Grüße
Andreas
Private Nachricht senden Benutzer-Profile anzeigen
 
freaknweasel
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2011, 22:57     Titel:
  Antworten mit Zitat      
Hey danke.. ja nach einer geschlagenen Stunde dämmerte es auch mir.
Ich habe einfach über die Zeit mit einer Schleife einen Vektor für die Schrittwerte und einen für die Zeitachsenwerte gefüllt und mir die dann plotten lassen.
Trotzdem THX!
 
malla
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.06.2011, 21:16     Titel:
  Antworten mit Zitat      
mir dämmert es leider immer noch nicht
Möchte mir den die 4 Graphen ausgeben lassen
Code:
M=[0:0.01:2];
n1=((220/8.44)-((2*%pi*25)./((8.44)^2)).*.M);
n2=((110/8.44)-((2*%pi*25)./((8.44)^2)).*.M);
n3=((220/8.44)-((2*%pi*(25+47))./((8.44)^2)).*.M);
n4=((140/2.461)-((2*%pi*25)./((2.461)^2)).*.M);
plot2d(M,[n1 n2 n3 n4])
xlabel("Drehmoment in N")
ylabel("Drehzahl in 1/s")
title('Abbildung 2: Kennlinen')
 

Wenn ich die Graphen jeweils einzeln plotte funktioniert es wunderbar auch in einem Grafikfenster nur wenn ich sie zusammen ausgeben will ( möchte das damit ich eine Legende festlegen kann) klappt es nicht und ich bekomme leider den allseits beliebten Fehler -->plot2d(M,[n1 n2 n3 n4])
!--error 999
plot2d: Erste(s) und zweite Argumente haben inkompatible Dimension.
 
aj.geissler
Forum-Century
Forum-Century


Beiträge: 230
Anmeldedatum: 26.11.07
Wohnort: Seeheim-Jugenheim
Version: ---
     Beitrag Verfasst am: 21.06.2011, 10:27     Titel:
  Antworten mit Zitat      
Hi,

folgender Vorschlag:

Code:

M=[0:0.01:2];
n1=((220/8.44)-((2*%pi*25)./((8.44)^2)).*.M);
n2=((110/8.44)-((2*%pi*25)./((8.44)^2)).*M);
n3=((220/8.44)-((2*%pi*(25+47))./((8.44)^2)).*M);
n4=((140/2.461)-((2*%pi*25)./((2.461)^2)).*M);
plot2d([M;M;M;M].',[n1;n2;n3;n4].');
xlabel("Drehmoment in N");
ylabel("Drehzahl in 1/s");
title('Abbildung 2: Kennlinen');
// That's it
 


Grüße
Andreas
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.