Professional Documents
Culture Documents
6 Ejercicios de For..end (Wendy)
6 Ejercicios de For..end (Wendy)
for i = 2:length(t)
x(i) = x(i-1) + (-x(i-1) + sin(t(i-1))) * delta_t; % Método de Euler
end
plot(t, x);
xlabel('Tiempo');
ylabel('x');
title('Simulación de dx/dt = -x + sin(t)');
2. Calcula la suma de los 100 primeros números pares (empezando en el 2), utilizando (a)
un bucle for:
suma_for = 0;
for i = 2:2:200 % Empieza en 2 y suma los siguientes 100 números pares
suma_for = suma_for + i;
end
disp(['La suma de los primeros 100 números pares es (con bucle for):
', num2str(suma_for)]);
3. Escribe una M-función function [u]=ProdAb(A,b,n) que reciba como datos de entrada
una matriz cuadrada A de dimensión n, y un vector b de longitud n, y devuelva el
producto Ab calculado elemento a elemento mediante bucles, es decir, sin usar el
producto matricial de MATLAB.
function u = ProdAb(A, b, n)
% Verificar que A sea una matriz cuadrada de tamaño nxn y que b
sea un vector de longitud n
[filasA, columnasA] = size(A);
if filasA ~= n || columnasA ~= n || length(b) ~= n
error('Dimensiones incorrectas. A debe ser una matriz cuadrada
de dimensión n y b un vector de longitud n.');
end
for i = 1:n
x0 = a + (i - 1) * h;
x1 = a + i * h;
5. Resolver utilizando el bucle for: Escribir una M-función function FunInterp(f,a,b,n) que
reciba como argumentos de entrada
f : un handle de una función
a,b : un intervalo
n : un número entero positivo n>2
La M-función debe construir una partición regular del intervalo [a,b] con n
puntos ,calcular los valores de la función f en dichos puntos , y calcular y dibujar juntas
en el intervalo [a,b] las gráficas de:
los puntos del soporte ,con marcadores
El polinomio de interpolación global
El interpolante lineal a trozos
El spline cúbico
La recta de regresión (ajuste mediante un polinomio de grado 1)
La parábola de regresión (ajuste mediante un polinomio de grado 2) debidamente
identificadas.
function w = SuperaMedia(v)
% Calcular la media aritmética de las componentes de v
media = mean(v);