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

Funktion ableiten

 

Govinda86
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 19.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2014, 19:10     Titel: Funktion ableiten
  Antworten mit Zitat      
Hallo zusammen,

ich habe erneut ein (hoffentlich) kleines Problem. Und zwar würde ich gerne eine Funktion ableiten und habe es mit dem Befehl diff() versucht:

function tk_l=tk_kupp(w10, MR, J1, J2, M1)
tk_l = w10/(MR/J2+(MR-M1)/J1);

figure(124),hold on, for PF=0.1:0.01:2.0; MR=190*PF; plot(PF,diff(tk_kupp(200,MR,1,5,200)),'b','linewidth',3), xlabel('Prop. Faktor PF'), ylabel('tk'), text(1.1,2,'MR'), ylim([0,20]), grid on, end;

Allerdings bekomme ich folgende Fehlermeldung:
Error using plot
Vectors must be the same lengths.



Wäre super, wenn mir jemand weiterhelfen könnte.
Private Nachricht senden Benutzer-Profile anzeigen


Alex4456
Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 17.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2014, 07:19     Titel:
  Antworten mit Zitat      
Hallo,

ohne deinen Code zu testen, ist es wohl naheliegend das die Parameter und x y im plot() Befehl nicht die gleiche Länge haben. Das einfach prüfen. Weiterhin solltest du bedenken, dass diff(y) einen Vektor der Länge y-1 wiedergibt, da der letzte wert keine Differenz hat.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Govinda86
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 19.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2014, 10:04     Titel:
  Antworten mit Zitat      
Hallo Alex,

danke für die Antwort.

Das Problem hast Du schön beschrieben, die Parameter im Plot haben nicht die selbe Länge.

Wie jedoch bekomme ich beide Parameter auf die selbe Länge? Hier fehlt mir der richtige Ansatz.

Schöne Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Govinda86
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 19.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.10.2014, 17:29     Titel:
  Antworten mit Zitat      
So neuer Versuch:
Folgende Funktion würde ich gerne ableiten:

Code:
PF = 0.9:0.01:2.0;
MR = 190.*PF;
y = zeros(1, length(PF));
for i=1:length(PF)
    y(1,i) = tk_kupp(200,MR(1,i),1,5,200);
end

plot(PF,y,'b.-','linewidth',3), xlabel('Prop. Faktor PF'), ylabel('tk'), text(1.1,2,'MR'), xlim([0.8,2.0]), ylim([0,20]), grid on;


Einen Screenshot des Graphen habe ich angehängt.
Ich habe es bereits mit der Funktion gradient() versucht:
Code:

PF = 0.9:0.01:2.0;
MR = 190.*PF;
y = zeros(1, length(PF));
for i=1:length(PF)
    y(1,i) = [b]gradient(tk_kupp(200,MR(1,i),1,5,200));[/b]
end

plot(PF,y,'b.-','linewidth',3), xlabel('Prop. Faktor PF'), ylabel('tk'), text(1.1,2,'MR'), xlim([0.8,2.0]), ylim([0,20]), grid on;


Das Ergebnis war aber nicht das erhoffte (siehe Anhang).

Hat jemand einen Tipp für mich?

Screenshot at Okt. 23 18-25-45.png
 Beschreibung:

Download
 Dateiname:  Screenshot at Okt. 23 18-25-45.png
 Dateigröße:  43.77 KB
 Heruntergeladen:  401 mal
Gradient_Screenshot at Okt. 23 18-27-48.png
 Beschreibung:

Download
 Dateiname:  Gradient_Screenshot at Okt. 23 18-27-48.png
 Dateigröße:  36.99 KB
 Heruntergeladen:  416 mal
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: 25.10.2014, 23:19     Titel:
  Antworten mit Zitat      
Hallo Govinda86,

Der Gradient kann nur von einem Vektor berechnet werden. Bisher werden aber nur einzelne Werte übergeben.
Code:
PF = 0.9:0.01:2.0;
MR = 190.*PF;
y = zeros(1, length(PF));
for k = 1:length(PF)
    y(k) = tk_kupp(200, MR(k), 1, 5, 200);
end
dy = gradient(y);

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

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 19.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.11.2014, 12:25     Titel:
  Antworten mit Zitat      
Hallo Jan,

danke für deine Antwort. So hat es allerdings leider auch nicht geklappt (Graph siehe Anhang).

PF = 0.9:0.01:2.0;
MR = 190.*PF;
y = zeros(1, length(PF));
for k = 1:length(PF)
y(k) = tk_kupp(200, MR(k), 1, 5, 200);
end
dy = gradient(y);


plot(PF,dy,'b.-','linewidth',3), xlabel('Prop. Faktor PF'), ylabel('tk'), text(1.1,2,'MR'), xlim([0.8,2.0]), ylim([0,20]), grid on;

Screenshot at Nov. 08 12-22-47.png
 Beschreibung:

Download
 Dateiname:  Screenshot at Nov. 08 12-22-47.png
 Dateigröße:  108.88 KB
 Heruntergeladen:  426 mal
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.