Matlab - Matlab - McLaurin y Taylor

 
Vista:

Matlab - McLaurin y Taylor

Publicado por Cristian (1 intervención) el 29/07/2013 21:20:23
Hola muy buenas tardes! La verdad que me encanta este foro, tengo pensado usarlo mucho para aprender C++ también aunque mi programa base es Matlab & Simulink.

He visto que en otros post los temas de Matlab & Simulink han sido respondidos por JOSE JEREMIAS CABALLERO en su gran mayoría.

Mis problemas no son de comprensión matemática maestro, sino mas bien de programación. Ej: Me confunden a veces las declaraciones de syms x pero en el resto del uso del soft todo bárbaro.
Aquí tienes espacio de explicarme bien como y cuando trabajar con variables simbólicas en Matlab & Simulink.

Vayamos al grano, me voy a concentrar ahora en el tema en cuestión; He visto ya los algoritmos siguientes:

clear all
clc
syms x
fun=input('f(x): ');
f = inline(fun);
x1 = input('X(i): ');
x2 = input('X(i+1): ');
n = input('Número de Orden: ');
h = abs(x2 - x1);
v1 = f(x1);
v2 = f(x2);
et = abs((v2 - v1)/v2 * 100);
X(1,:) = [0 v1 0 et];
for i=1:n
X(i+1,1) = i;

D = diff(fun,i);
d1=inline(D);
d=d1(x1);
v1= v1+(d*((h^i)/factorial(i)));
X(i+1,2) = v1;

et=abs(((v2-v1)/v2)*100);
X(i+1,4) = et;

ea = abs((X(i+1,2)-X(i,2))/X(i,2)*100);
X(i+1,3) = ea;

if ea <=10^(-1)
break
end
end

o este

%% Implementacion del ciclo para McLaurin de sin(x).
%function smp = maclaurin_sin(x, n)
% x = a vector with values around 0
% n = number of terms in the series

% Start the series with 0
%smp = 0;

% Consider all the possible derivatives
%deriv = [0 1 0 -1]';

% Iterate n times (from 0 to n-1)
%for i = 0 : n-1

% Implement the Maclaurin expansion
% t(i+1, :) = deriv(1) * x.^(i) / factorial(i);

% Find the derivative for the next term
% deriv = circshift(deriv, -1);

%end

% Add-up the calculated terms
%smp = sum(t);
%%

Todos basados en nuestros polinomios a trabajar.
Mis cuestiones son:
1]¿Tu programa (el primero) es eficiente a la hora de aproximar algo a 0 es decir, para implementar McLaurin?

2]¿Te parece erróneo el segundo código para McLaurin? Esto lo pregunto ya que la parte de consideración de las derivadas esta muy limitada a la función seno en este caso, me gustaría tener ese algoritmo pero para cualquier función.

3]Lo MAS importante para mi es no irme sin entender la sintaxis de los ciclos FOR, me perturban los subindices del mismo. (A veces i+1 otras i-1 y así sucesivamente) Esto te lo pido por favor maestro, quiero entenderlo bien, es mas con este pedido me he de quedar corto, pues no entiendo tampoco como hacer un ciclo FOR donde la matriz fila por ejemplo se vaya llenando.

4]Como hacer que el 1º programa grafique la solución EXACTA y la solución APROXIMADA? estaría perfecto que este algoritmo el cual no puedo entender de completo cumpliese lo anterior para cualquier función.

Desde ya muchas gracias y les aseguro que seguiré leyendo el foro para aprender mas programación, si me permiten al finalizar mi curso les dejare todos mis trabajos hechos de forma que quede publicado. Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder