DGL zeichen mit Matlab < mehrere Veränderl. < reell < Analysis < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:30 Di 30.10.2007 | Autor: | Dablack |
Aufgabe | Gegeben sei die Funktion f : R² -> R mit
[mm] f(x,y)=\begin{cases} x*y*arctan(1/y), & \mbox{für } y \mbox{ != 0} \\ 0, & \mbox{für } y \mbox{ = 0} \end{cases}
[/mm]
a) Man zeichne die Funktion im Bereich [−1, 1] × [−10, 10] mit Hilfe der MATLABRoutine
ezsurf.
b) Man überprüfe, ob f in R² stetig ist. |
Ich habe ehrlich gesagt nicht allzuviel Ahnung von Matlab und mich würde daher interessieren, ob ich das richtig gemacht habe, bzw was ich falsch mache, da ich allerhand Fehlermeldungen bekomme, mit denen ich nichts anfangen kann.
a.)
im Matlab-Editor:
function f = myfunc(x,y);
if (y==0)
f = 0;
else
f = x*y*atan(1/y);
end;
Konsole:
ezsurf(@(x,y)myfunc(x,y))
Wie setze ich die Domain auf die gefragten Werte?
b.)
Wie beweise ich die Stetigkeit?
Setze ich x einfach fest und habe dann im Limes [mm] (n->\infty) [/mm] f(x,1/n) = Limes [mm] (n->\infty) [/mm] x*1/n*arctan(n) = [mm] x*0*\pi/2 [/mm] = 0?
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 00:22 Mi 31.10.2007 | Autor: | Master_G_A |
hi dablack
Leider kann ich dir nicht ausreichend helfen, da ich die ezsurf funktion nicht auf die schnelle verstehe.
Da du aber wahrscheinlich Vektoren in die Funktion übergeben willst muss die Funktion etwa so aussehen:
function f = myfunc(x,y);
[mm] s_x [/mm] = length(x);
[mm] s_y [/mm] = length(y);
for j = [mm] 1:s_x
[/mm]
for i = [mm] 1:s_y
[/mm]
if (y(i)==0)
f(i,j) = 0;
else
f(i,j) = x(i).*y(i).*atan(1./y(i));
end
end
end
Um x einen Vektor zuzuordnen kannst du zum Beispiel linspace benutzen:
x = linspace (-1,1,100)
so erstellt matlab einen Vektor mit minimum -1 und maximum 1 mit regelmäsigen abständen (hier 100 stück)
also in konsole:
x = linspace (-1,1,100)
y = linspace (-10,10,100)
wenn du jetzt surf benutzt siehst du wie es ca aussehen müsste
also in konsole:
[X,Y] = meshgrid(x,y);
surf(X,Y,myfunc(x,y));
hoffe es hilft dir weiter
Gruß Guido
|
|
|
|
|
Hi,
> Gegeben sei die Funktion f : R² -> R mit
> [mm]f(x,y)=\begin{cases} x*y*arctan(1/y), & \mbox{für } y \mbox{ != 0} \\ 0, & \mbox{für } y \mbox{ = 0} \end{cases}[/mm]
>
> a) Man zeichne die Funktion im Bereich [−1, 1] ×
> [−10, 10] mit Hilfe der MATLABRoutine
> ezsurf.
> b) Man überprüfe, ob f in R² stetig ist.
> Ich habe ehrlich gesagt nicht allzuviel Ahnung von Matlab
> und mich würde daher interessieren, ob ich das richtig
> gemacht habe, bzw was ich falsch mache, da ich allerhand
> Fehlermeldungen bekomme, mit denen ich nichts anfangen
> kann.
>
> a.)
> im Matlab-Editor:
> function f = myfunc(x,y);
> if (y==0)
> f = 0;
> else
> f = x*y*atan(1/y);
> end;
>
> Konsole:
> ezsurf(@(x,y)myfunc(x,y))
>
> Wie setze ich die Domain auf die gefragten Werte?
erstmal kannst du die funktion auch vektorisieren:
function f = myfunc(x,y);
f=zeros(size(x));
f=f+(y~=0).*x.*y.*atan(1./y);
habe grad mal schnell in der hilfe nachgeschaut, den def.bereich kannst du einfach als parameter uebergeben:
ezsurf(@(x,y)myfunc(x,y),[-1 1 -10 10])
>
> b.)
> Wie beweise ich die Stetigkeit?
> Setze ich x einfach fest und habe dann im Limes
> [mm](n->\infty)[/mm] f(x,1/n) = Limes [mm](n->\infty)[/mm] x*1/n*arctan(n) =
> [mm]x*0*\pi/2[/mm] = 0?
das ist nicht so schwer: der arcustangens ist eine beschraenkte funktion.
dh. du kannst den aßtangens gegen eine konstante abschätzen, danach sollte der beweis der stetigkeit leicht sein.
gruss
matthias
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:33 Mi 31.10.2007 | Autor: | Dablack |
Vielen Dank :)
|
|
|
|