Müs Lee
Commodore
- Registriert
- Feb. 2007
- Beiträge
- 4.916
Ahoi.
!!!Vorab!!! Ich weiß, dass CB kein Hausaufgabenboard ist. Ich will auch keine fertige Lösung, nur Denkanstöße und eventuell sieht jemand ein paar Fehler.
Unser Prof hat im Fach Modellbildung/Simulation jedem Studenten eine Testataufgabe aufertragen. Meine lautet wie folgt:
An sich keine so große Sache, nach ein wenig Einarbeiten gelingt es größtenteils. Hier der Code:
a=0;
e=10;
i=a;
j=i;
n=10;
x=linspace(a,e,n);
y=x;
[x,y]=meshgrid(x,y);
z=(2*x.*y.^2)/(x.^2 + y.^4);
for j=a:e,
for i=a:e,
if x<0
z=0;
elseif x==0
z=0;
end
end
end
mesh(x,y,z)
z sieht damit so aus:
Wenn a allerdings ein negativer Wert ist, zB a=-10 und e=10, erhalte ich die Fehlermeldung Warning: Matrix is singular to working precision.
z ist somit
und det(z)= NaN
Wenn a=-10 und e=-1 kommt
??? Error using ==> mesh at 80
Z must be a matrix, not a scalar or vector.
Keine Ahnung, was ich damit anfangen soll. z ist doch immer noch eine Matrix?
Wenn a=-10 und e=0 kommt lediglich Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 6.001188e-020. Diese Meldung kommt eigentlich immer, aber damit erhalte ich immerhin ein Resultat.
Ich kann nicht nachvollziehen, warum ich solche riesigen Zahlen mit 1.0e+017, NaN und +-Inf rauskriege, obwohl die Funktion ja keine sonderlich hohen Potenzen beinhaltet und die Parameter sich dermaßen ändern. Irgendwie muss es doch möglich sein, einen negativen Zahlenbereich einzuschließen, da sonst die Hälfte der Aufgabe hinfällig ist. Laut WolframAlpha kann man die Funktion nicht anders ausdrücken, das hätte vielleicht geholfen. Der Plot von WA bewegt sich in xyz auch nur im Bereich von +-1, bei meinem geht die Skala ja bis 10^17...
Schon mal Danke im Voraus für jeglichen Input, im Moment komme ich überhaupt nicht weiter.
!!!Vorab!!! Ich weiß, dass CB kein Hausaufgabenboard ist. Ich will auch keine fertige Lösung, nur Denkanstöße und eventuell sieht jemand ein paar Fehler.
Unser Prof hat im Fach Modellbildung/Simulation jedem Studenten eine Testataufgabe aufertragen. Meine lautet wie folgt:
An sich keine so große Sache, nach ein wenig Einarbeiten gelingt es größtenteils. Hier der Code:
a=0;
e=10;
i=a;
j=i;
n=10;
x=linspace(a,e,n);
y=x;
[x,y]=meshgrid(x,y);
z=(2*x.*y.^2)/(x.^2 + y.^4);
for j=a:e,
for i=a:e,
if x<0
z=0;
elseif x==0
z=0;
end
end
end
mesh(x,y,z)
z sieht damit so aus:
Wenn a allerdings ein negativer Wert ist, zB a=-10 und e=10, erhalte ich die Fehlermeldung Warning: Matrix is singular to working precision.
z ist somit
und det(z)= NaN
Wenn a=-10 und e=-1 kommt
??? Error using ==> mesh at 80
Z must be a matrix, not a scalar or vector.
Keine Ahnung, was ich damit anfangen soll. z ist doch immer noch eine Matrix?
Wenn a=-10 und e=0 kommt lediglich Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 6.001188e-020. Diese Meldung kommt eigentlich immer, aber damit erhalte ich immerhin ein Resultat.
Ich kann nicht nachvollziehen, warum ich solche riesigen Zahlen mit 1.0e+017, NaN und +-Inf rauskriege, obwohl die Funktion ja keine sonderlich hohen Potenzen beinhaltet und die Parameter sich dermaßen ändern. Irgendwie muss es doch möglich sein, einen negativen Zahlenbereich einzuschließen, da sonst die Hälfte der Aufgabe hinfällig ist. Laut WolframAlpha kann man die Funktion nicht anders ausdrücken, das hätte vielleicht geholfen. Der Plot von WA bewegt sich in xyz auch nur im Bereich von +-1, bei meinem geht die Skala ja bis 10^17...
Schon mal Danke im Voraus für jeglichen Input, im Moment komme ich überhaupt nicht weiter.
Zuletzt bearbeitet: