ich bin noch ein Anfänger was Matlab angeht, ich bin aber zur Zeit dabei es zu lernen, deshalb bräuchte ich eure Hilfe, folgendes:
Schreiben Sie nun eine Funktion getTemp.m, welche als Eingabeparameter die Kennfelddaten, das Drehmoment und die Drehzahl entgegennimmt und die zugehörige Temperatur aus dem Kennfeld ausliest. Nutzen Sie zum Auslesen den Befehl interp2.
dazu müsste man wissen, was Kennfeld ist. Sind es Temperaturdaten? Dann brauchst du eigentlich nur interp2 verwenden (mal die Doku dazu lesen), um dir die richtige Temperatur(en) herauszusuchen.
Wie ich sagte ich bin noch ein Anfänger was Matlab angeht, ich habe nur die Fragt Zitiert.
Frage:
Schreiben Sie nun eine Funktion getTemp.m, welche als Eingabeparameter die Kennfelddaten, das Drehmoment und die Drehzahl entgegennimmt und die zugehörige Temperatur aus dem Kennfeldausliest. Nutzen Sie zum Auslesen den Befehl interp2.
-Testen Sie die Funktion getTemp.m mit den Werten M=11.75, n=250
und M=10, n=300.
Ich denke mal, dass es auch etwas geplottet werden soll.
Also um ehrlich zu sein ich verstehe es nicht.
Und der Code macht auch irgendwie kein Sinn. Ich denke es soll eher eine Funktion aufgestellt werden wie z.B
Kennfeld=M.^2+n.^2 ; oder sowas ähnliches
Weil im nächsten Schritt soll die Funktion ja getestet werden.
Ich habe vergessen noch zu erwähnen, das ich noch das gegeben habe.
Es tut mir leid, dachte das gehört nicht dazu. Hab es gerade erst gesehen das drüber steht "benutze den Code". Aber Trotzdem bräuchte ich weiterhin eure Hilfe.
Ich denke mal dazu soll eine Funktion aufgestellt, welches dann die Temperatur ausliest.
Code:
% Drehmoment-und Drehzahlvektoren
Dmoment= linspace(2,400,5); %Nm
Dzahl= linspace(0,2000,5); %rpm
[M n] = meshgrid(Dmoment,Dzahl);
Kennfeld= (10*M.^2+n.^2)./(6*10^4)+20;
% Kennfeldvisualisieren figure(1) mesh(M,n,Kennfeld,'LineWidth',3);
title('Temperaturkennfeld') xlabel('Drehmoment in Nm') ylabel('Drehzahl in U/min') zlabel('Motorgehäusetemperaturin °C') % Löschen von M und n aus dem Workspace
clearM n
% Drehmoment-und Drehzahlvektoren
Dmoment= linspace(2,400,5); %Nm
Dzahl= linspace(0,2000,5); %rpm
[M n] = meshgrid(Dmoment,Dzahl);
Kennfeld= (10*M.^2+n.^2)./(6*10^4)+20;
% Kennfeldvisualisieren figure(1) mesh(M,n,Kennfeld,'LineWidth',3);
title('Temperaturkennfeld') xlabel('Drehmoment in Nm') ylabel('Drehzahl in U/min') zlabel('Motorgehäusetemperaturin °C') % Löschen von M und n aus dem Workspace clear M n
% Drehmoment-und Drehzahlvektoren
Dmoment= linspace(2,400,5); %Nm
Dzahl= linspace(0,2000,5); %rpm
[M n] = meshgrid(Dmoment,Dzahl);
Kennfeld= (10*M.^2+n.^2)./(6*10^4)+20;
figure(1) mesh(M,n,Kennfeld,'LineWidth',3);
title('Temperaturkennfeld') xlabel('Drehmoment in Nm') ylabel('Drehzahl in U/min') zlabel('Motorgehäusetemperaturin °C') % Löschen von M und n aus dem Workspace clear M n
getTemp(Dmoment,Dzahl,Kennfeld,11.75,240)
das mit der Temperatur Ausgabe hat geklappt, danke.
Aber jetzt ein neues Problem, jetzt soll neben der Tem. auch noch die Leistung P ausgegeben werden.
Fragestellung:
Schreiben Sie nun eine Funktion namens Leistung.m, welche als Eingabeparameter wiederum die Kennfelddaten, das Drehmoment und die Drehzahl entgegennimmt. Ausgabewerte sollen die Temperatur und die mechanische Leistung (P=M*2*pi*n/60) des Motors sein. Integrieren Sie in diese Funktion die Funktion getTemp.m.
Wenn ich jetzt die Funktion Leistung Aufrufe gibt er mir nur die Leistung aus, aber Ausgegeben soll Temperatur und Leistung?
Wie kriege ich das den hin?
Außerdem was ist damit gemeint?
"Integrieren Sie in diese Funktion die Funktion getTemp.m."
Soll ich jetzt einfach die Funktion von getTemp kopieren und in die von Leistung einfügen? Oder wie soll ich das verstehen?
wenn M und n Eingabeargumente sind, dann ist es nicht sinnvoll, sie nochmal zu belegen. Das sollte auch im Editor orange markiert werden.
Deine neue Funktion gibt zwei Ausgabeargumente zurück. Wenn du diese beide haben möchtest, musst du die Funktion auch mit zwei Ausgabeargumenten aufrufen.
% Drehmoment-und Drehzahlvektoren
Dmoment= linspace(2,400,5); %Nm
Dzahl= linspace(0,2000,5); %rpm
[M,n] = meshgrid(Dmoment,Dzahl);
Kennfeld= (10*M.^2+n.^2)./(6*10^4)+20;
% Kennfeldvisualisieren figure(1) mesh(M,n,Kennfeld,'LineWidth',3);
title('Temperaturkennfeld') xlabel('Drehmoment in Nm') ylabel('Drehzahl in U/min') zlabel('Motorgehäusetemperaturin °C') % Löschen von M und n aus dem Workspace clear M n
Im nächsten Schritt soll eine Testfahrt simuliert werden. Erstellen Sie ein neues Skript namens Testfahrt.m. Rufen Sie über das Skript die Datei Fahrzyklus.mat auf.
Hinweis: load Fahrzyklus
Also ich habe ein neues Skript erstellt und abgespeichert, jetzt soll über das Skript die Datei Fahrzyklus.mat aufgerufen werden.
Wie kann ich vorgehen?
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.