Runge kutta, derivacion, integracion, metodos numericos
%Simpson Integrales
function simpson_Callback(hObject, eventdata, handles)
global ecuacion x;
syms x;
funcion=ecuacion;b=str2num(get(handles.limSup,'String'));
a=str2num(get(handles.limInf,'String'));
n= str2num(get(handles.iteracion,'String'));
h=(b-a)/n;
x=a; f=eval(funcion);
x=b; f=f+eval(funcion);i=1;
%cuantas i5teraciones??
x=a+(i*h);
while (x<b) & (i<=n-1)
x=a+(i*h);
fprintf('-->%f en %f \n',x,i);
%par
if mod(i,2)==0f=f+ 2*(eval(funcion)); % multiplicando por 2 para impares
else %impares
f=f+ 4*(eval(funcion));% multiplicando por 4 para pares
end
i=i+1;
endf=(h/3)*f; % resultado
set(handles.resultado, 'String',num2str(f));
Derivada por dif progresivas
function progresivas_Callback(hObject, eventdata, handles)
global ecuacion x;
symsx;
funcion=ecuacion;
grado=str2num(get(handles.orden,'String'));
x=str2num(get(handles.evaluacion,'String'));
h=str2num(get(handles.espacio,'String'));
%gradocorrecto
grado=grado+1;
f=0;
A=pascal(grado);
disp(A);
a=x;
y=grado+1;
cont=0;
for i=1:1:grado
y=y-1;
for j=y:-1:0x=a+(((grado-1)-cont)*h);
f=f + ((-1)^cont)*A(i,j)*eval(funcion);
break;
end
cont=cont+1;
end
set(handles.resultado,'String',num2str(f/(h^(grado-1))));
Derivada por Valor medio
% --- Executes on button press in medio.
function medio_Callback(hObject, eventdata, handles)
global ecuacion x;
syms x;
funcion=ecuacion;grado=str2num(get(handles.orden,'String'));
x=str2num(get(handles.evaluacion,'String'));
h=str2num(get(handles.espacio,'String'));
%grado correcto
grado=grado+1;...
Regístrate para leer el documento completo.