|
alexh |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 30.10.08
|
 |
|
 |
Wohnort: Recklinghausen
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.10.2008, 14:13
Titel: Kostenberechnung
|
 |
|
 |
|
Hallo liebe Community,
Da dies mein erster Beitrag in diesem Forum ist, erstmal "Hallo"
Ich arbeite an der Universität Twente in NL mit Matlab 2007/2008.
Wir haben nun eine recht einfache Aufgabe bekommen. Ich war mir der Lösung auch sicher, nur aus irgendeinem Grund ist es mir nicht möglich ein Array durch eine IF-Abfrage zu schieben.
Die Aufgabe lautet: (zusammengefasst)
Vergleichen zweier Mobiltelefon-Verträge.
Anbieter 1: (Hi)
12,95 € Grundgebür - enthalten sind 45 Freiminuten
Minutenpreis für jede weitere Minute - 0,12€
Anbieter 2: (T-Mobile)
19,95 € Grundgebür - enthalten sind 20 Freiminuten
Minutenpreis für jede weitere Minute - 0,03€
Erstellen sie für jeden Anbieter eine Funktion und plotten sie beide Funktionen in eine Grafik.
Bennen sie die beiden Funktionen wie folgt:
function y=hi(minuten)
und
function y=tmobile(minuten)
Mein Lösungsansatz:
function y = hi(minuten)
if (minuten > 45)
y = 12.95 + (minuten * 0.12)
else
y = 12.95
end
end
function y = tmobile(minuten)
if (minuten > 20)
y = 19.95 + (minuten * 0.03)
else
y = 19.95
end
end
--------------------------------------------
>> x= 1:1:100;
>> hi(x)
y =
12.9500
ans =
12.9500
>> tmobile(x)
y =
19.9500
ans =
19.9500
--------------------------------------------
Es werden mir also nur die Basiswerte ausgeben, die Grundgebühr, warum aber nicht der wahre wert.
So sollte die geplottete Grafik aussehen: ( Skizze )
|............................// 15,00€
|.........................//
|......................//
|...................//
|-------------- 12,95€
|
|
|
|________________________________
So sieht die geplottete Grafik aus: ( Skizze )
|
|
|
|
|-------------------------------------------- 12,95€
|
|
|
|________________________________
Kann mir hier jemand helfen...???
Ich denke mal mein Ansatz ist richtig nur irgendwie wird das Array nicht richtig verarbeitet.
Im Voraus schonmal Danke.
Alex
|
|
|
|
|
derOli |

Forum-Meister
|
 |
Beiträge: 579
|
 |
|
 |
Anmeldedatum: 19.03.08
|
 |
|
 |
Wohnort: Leipzig
|
 |
|
 |
Version: 2010a
|
 |
|
|
 |
|
Verfasst am: 30.10.2008, 15:13
Titel:
|
 |
Probiers mal so in jeder Funktion:
Das Problem war if x > 45 aber x ist ein vektor. dh x<45 = 0 0 0 1 1 1 ...
Damit kannst du natürlich keine if anfrage machen. Dh du musst in einer Funktion auch in Vektoren denken, ist bei Matlab am Anfang immer etwas schwierig. Ansonsten könntest du auch eine For schleife machen aber dann verlierst du Geschwindigkeit. (In diesem Fall eher nebensächlich)
Grüße,
der Oli
|
|
|
alexh |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 30.10.08
|
 |
|
 |
Wohnort: Recklinghausen
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.10.2008, 23:49
Titel:
|
 |
Also danke erstmal für die Antwort, so kannte ich das garnicht. Jetzt muss ich mein MatLab-Verständnis erstmal neu ordnen.
Deine Function bringt mich zwar weiter kann aber eigentlich nicht richtig sein.
Denn das geplottete Ergebnis ergibt kein Sinn.
Ich werde mich jetzt mal dahinterklemmen und mich nochmal melden.
Bis später und danke
So sieht deine Lösung geplottet aus:
http://ahoehfeld.kilu.de/Material/Bild/gehtnicht2.bmp
So sollte sie allerdings geplottet aussehen:
http://ahoehfeld.kilu.de/Material/Bild/richtigso.bmp
Edit by Bijick: Formatierung angepasst.
|
|
|
derOli |

Forum-Meister
|
 |
Beiträge: 579
|
 |
|
 |
Anmeldedatum: 19.03.08
|
 |
|
 |
Wohnort: Leipzig
|
 |
|
 |
Version: 2010a
|
 |
|
|
 |
|
Verfasst am: 03.11.2008, 11:25
Titel:
|
 |
Ja stimmt,
man müsste ja die Minuten, die man schon verbraucht hat noch abziehen, also:
Dann is es richtig,
Grüße,
der Oli
|
|
|
alexh |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 30.10.08
|
 |
|
 |
Wohnort: Recklinghausen
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2008, 22:37
Titel:
|
 |
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|