|
Autor |
Mehrere Graphen zeichnen Matlab |
|
soyyo123
Neu  Dabei seit: 06.11.2020 Mitteilungen: 2
 | Themenstart: 2020-11-06
|
Hallo zusammen,
ich möchte zwei Funktionen für große Werte vergleichen und sie in ein gemeinsames Graphikfenster zeichnen. Ich habe schon vieles ausprobiert und nachgelesen, bin leider immer kläglich gescheitert. Manchmal hat es mir die erste Funktion gezeichnet, bei der zweiten kam aber immer die Fehlermeldung: Index exceeds the number of array elements
Um jede Hilfe und jeden Tipp wäre ich sehr dankbar!
Code:
x = 1:1:100;
y1 = 1/x - 1/(x+1);
plot(x,y1)
hold on
y2 = 1/(x(x+1));
plot(x,y2)
hold off
Liebe Grüße
soyyo
|
Profil
|
rlk
Senior  Dabei seit: 16.03.2007 Mitteilungen: 11598
Wohnort: Wien
 | Beitrag No.1, eingetragen 2020-11-07
|
Hallo soyyo123,
herzlich willkommen auf dem Matheplaneten!
Zur Darstellung von Quellcode gibt es den Quelltextbereich, damit sieht Dein Programm so aus:
\sourceon Matlab
\numberson
x = 1:1:100;
y1 = 1/x - 1/(x+1);
plot(x,y1)
hold on
y2 = 1/(x(x+1));
plot(x,y2)
\sourceoff
In Zeile 1 definierst Du den Vektor x , in Zeile 2 versuchst Du durch x zu teilen, was keine erlaubte Rechenoperation ist. Ich vermute, dass Du mit 1/x einen Vektor mit den Kehrwerten der Elemente von x meinst, diesen erhältst Du mit der elementweisen Division 1 ./ x . Das gilt auch für die andern beiden Divisionen sowie die Multiplikation in Zeile 7, wo Du
\sourceon Matlab
y2 = 1 ./ (x .* (x+1))
\sourceoff
schreiben solltest.
Ich hoffe, das hilft Dir,
Roland
|
Profil
|
soyyo123
Neu  Dabei seit: 06.11.2020 Mitteilungen: 2
 | Beitrag No.2, vom Themenstarter, eingetragen 2020-11-08
|
Lieber Roland,
herzlichen Dank dir für deine Antwort. Ich habe es nun geplottet bekommen. Ich soll allerdings graphisch die numerische Abweichung der beiden Funktionen darstellen. Das weicht nun leider etwas vom Thema ab, aber:
Ich habe nun die Differenz geplottet und eine starke Abweichung für kleine Werte gesehen, obwohl es eigentlich für größere der Fall sein sollte, woran könnte das liegen?
\sourceon Matlab
x = 0.0000001:0.000000000001:0.000001;
f = 1./x;
g = 1./(x+1);
q = f-g;
k = 1./(x.*(x+1));
plot(x,q-k);
\sourceoff
Vielen Dank auf jeden Fall und liebe Grüße
Soyyo
|
Profil
| Folgende Antworten hat der Fragensteller vermutlich noch nicht gesehen. Er/sie war noch nicht wieder auf dem Matheplaneten |
rlk
Senior  Dabei seit: 16.03.2007 Mitteilungen: 11598
Wohnort: Wien
 | Beitrag No.3, eingetragen 2020-11-13
|
Hallo Soyyo,
es freut mich, dass ich Dir helfen konnte!
Worauf beziehst Du Dich mit den großen und kleinen Werten?
Für $0
|
Profil
|
soyyo123 wird per Mail über neue Antworten informiert. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|