MatLab wie kann man Grenzwerte bestimmten
Hallo, kann mir jemand erklären wie ich bei Matlab Grenzwerte bestimmen kann...
2 Antworten
Hier sind noch mehr Beispiele
%%
% Stetigkeit
f = piecewise(x <= 1, x^2+1, x>1, -x*(x-3));
x0=1;
%Stetigkeit überprüfen
stetigkeit = limit(f,x,x0)==subs(f,x,x0);
%Ausgabe
if stetigkeit
disp("Funktion ist an x0=1 stetig.");
else
disp("Funktion f ist an x0=1 diskret");
end
%%
% Differenzierbarkeit
syms x;
x0=1;
f = piecewise(x <= 1, x^2+1, x>1, -x*(x-3));
% ABleitung der Funktion
f_ableitung = diff(f,x);
%Grenzwerte der Ableitung prüfen
limit_left_ableitung = limit(f_ableitung,x,x0,'left');
limit_right_ableitung = limit(f_ableitung,x,x0,'right');
%Differenzerbarkeit überprüfen
differenzierbarkeit = limit_left_ableitung == limit_right_ableitung;
%Ausgabe
if differenzierbarkeit
disp("Funktion f ist an x0 = "+ string(x0) + ' differenzierbar');
else disp("Funktion f ist an x0 = "+ string(x0) + ' nicht differenzierbar');
end
%%
%Stetigkeit bei zwei Variablen
syms x a
% Definition der Funktion
f = piecewise(x < 2, 8*a + 16*x, x >= 2, a^2*(x+2));
x0=2;
%Stetigkeit überprüfen
stetigkeit = limit(f,x,x0,"left")==limit(f,x,x0,"right");
% Ausgabe
if stetigkeit
disp("Funktion f ist an x0 = "+ string(x0)+ ' stetig');
else disp('Funktion f ist an x0 = ' +string(x0)+ ' diskret');
end
%Lösungsweg für a finden
a_solutions = solve(limit(f,x,x0,"left") == limit(f,x,x0,'right'), a);
disp('Die Werte von a, die Funktion f an x0 = '+string(x0)+ 'stetig machen, sind: ');
disp(a_solutions);
Ja hier ist ein klassischer Code um Grenzwerte zu bestimmen:
% Stetigkeit
function calculate_limits(f,x0)
% Symbolische Variable definieren
syms x
% Linksseitiger Grenzwert
limit_left = limit(f,x,x0,"left");
%Rechtseitiger Grenzwert
limit_right = limit(f,x,x0,"right");
%Beidseitiger GrenzWert
limit_both = limit(f,x,x0);
%existiert Beidseitiger Grenzwert
if isequal(limit_left,limit_right)
both_exist = true;
else
both_exist = false;
end
%Ergebnisse ausgeben
disp('Linksseitiger Grenzwert bei: ' + ...
string(limit_left));
disp('Rechtsseitiger Grenzwert bei: '+string(limit_right));
if both_exist
disp ('Beidseitiger Grenzwert existiert, beide Grenzwerte sind gleich.');
else
disp ('Beidseitiger Grenzwert bei x= ' +string(x0) + 'existiert nicht, beide Grenzwerte sind nicht gleich.');
end
end
%Beispielaufruf der Funktion
syms x
f = piecewise(x <= 1, x^2+1, x>1, -x*(x-3));
x0 = 1;
calculate_limits(f,x0);