Azzera filtri
Azzera filtri

Question about reformulating a difference equation as a matrix equation

3 visualizzazioni (ultimi 30 giorni)
The difference equation and the boundary value are: .
I know how to solve for y(n) with eigen vector to obtain homogeneous solution and particular solution, and solve the coeffeicient using the boundary value. However, I donot know how to reformulate the whole difference equation into a matrix equation. Can anyone help?

Risposte (1)

MULI
MULI il 22 Mag 2024
Hi William,
I understand that you are asking about the reformulation of difference equation into a matrix equation.
Here I am providing the MATLAB code that solves a specific linear difference equation with given boundary conditions by reformulating the problem into a matrix equation.
% Define the parameters
N = 101; % Number of equations for n=0 to n=100
A = zeros(N, N); % Initialize A matrix
b = -1.35 * (0:N-1)'; % Correctly initialize b vector with -1.35n for n=0 to n=100
% Populate the A matrix based on the difference equation
A(1,1) = 1; % First equation only involves y(0) because y(-1) and y(-2) do not exist
for n = 2:N
A(n, n) = 1; % y(n) coefficient
A(n, n-1) = -10.1; % y(n-1) coefficient
if n > 2
A(n, n-2) = -10.1; % y(n-2) coefficient, valid from n=2 onwards
end
end
% Adjust for boundary conditions
b(N) = 101/6; % Adjust the last value of b for y(100) = 101/6
% Solve the system Ay = b for y
y = A\b;
% Display specific values of y(n)
disp(['y(0) = ', num2str(y(1))]);
disp(['y(50) = ', num2str(y(51))]);
disp(['y(100) = ', num2str(y(101))]);
In summary, the code efficiently translates a linear difference equation with boundary conditions into a solvable matrix equation.

Categorie

Scopri di più su Discrete Math in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by