tausyspw
Piecewise Lanczos' tau method for system of linear ODEs.
Syntax
a = tausyspw(x, y, ode_system, conditions, varargin)
Description
a = tausyspw(varargin) returns the coefficients, on basis P, of the
(n-1)th degree polinomial approximation yn = Pa, of the
linear differential system dy/dx=f(t,y). The domain is automatically
decomposed in subintervals and the tau method is applied to each
of these subintervals.
Inputs (required)
x = independent tau variable (itau object).
y = dependent tau variable (dtau oject).
ode_system = system of odes (cell of char).
conditions = problem conditions (cell of char).
Inputs (optional)
pieces = number of steps for piecewise approach (integer).
exact_solution = exact solution (cell of char).
step = step on the x vector to show the results.
precond = preconditioner ('no', 'ilu', 'diag').
for 'ndiad' define: 'numbd' (number of diagonals);
for 'ilu' define: 'milu', 'typeilu', 'droptol',
'thresh' and 'udiag'
solver = linear system solver (check guide).
apsol = boolean varargin to show the graphical solution.
resid = boolean varargin to show the graphical error.
coeff = boolean varargin to show the coefficients a.
spy = boolean varargin to spy the T matrix.
infor = boolean varargin to show infomations at the CLI.
saves = name varargin to save the results at .mat.
Output
a = approximate solution coefficients at basis P.
Example
[x, y] = tau('LegendreP', [0 2*pi], 10)
a = tausyspw(x, y, ...
{'diff(y1)-y2 = 0';'diff(y2)-y3 = 0';'diff(y3)+y2 = 0'}, ...
{'y1(0)=0';'y2(0)=1';'y3(0)=0'}, 3);
See also
tau, taupw, tausys and schursolver.
a = tausyspw(varargin) returns the coefficients, on basis P, of the (n-1)th degree polinomial approximation yn = Pa, of the linear differential system dy/dx=f(t,y). The domain is automatically decomposed in subintervals and the tau method is applied to each of these subintervals.
Inputs (required)
x = independent tau variable (itau object).
y = dependent tau variable (dtau oject).
ode_system = system of odes (cell of char).
conditions = problem conditions (cell of char).
Inputs (optional)
pieces = number of steps for piecewise approach (integer).
exact_solution = exact solution (cell of char).
step = step on the x vector to show the results.
precond = preconditioner ('no', 'ilu', 'diag').
for 'ndiad' define: 'numbd' (number of diagonals);
for 'ilu' define: 'milu', 'typeilu', 'droptol',
'thresh' and 'udiag'
solver = linear system solver (check guide).
apsol = boolean varargin to show the graphical solution.
resid = boolean varargin to show the graphical error.
coeff = boolean varargin to show the coefficients a.
spy = boolean varargin to spy the T matrix.
infor = boolean varargin to show infomations at the CLI.
saves = name varargin to save the results at .mat.
Output
a = approximate solution coefficients at basis P.
Example
[x, y] = tau('LegendreP', [0 2*pi], 10)
a = tausyspw(x, y, ...
{'diff(y1)-y2 = 0';'diff(y2)-y3 = 0';'diff(y3)+y2 = 0'}, ...
{'y1(0)=0';'y2(0)=1';'y3(0)=0'}, 3);
See also
tau, taupw, tausys and schursolver.
pieces = number of steps for piecewise approach (integer). exact_solution = exact solution (cell of char). step = step on the x vector to show the results. precond = preconditioner ('no', 'ilu', 'diag'). for 'ndiad' define: 'numbd' (number of diagonals); for 'ilu' define: 'milu', 'typeilu', 'droptol', 'thresh' and 'udiag' solver = linear system solver (check guide). apsol = boolean varargin to show the graphical solution. resid = boolean varargin to show the graphical error. coeff = boolean varargin to show the coefficients a. spy = boolean varargin to spy the T matrix. infor = boolean varargin to show infomations at the CLI. saves = name varargin to save the results at .mat.
Output
a = approximate solution coefficients at basis P.
Example
[x, y] = tau('LegendreP', [0 2*pi], 10)
a = tausyspw(x, y, ...
{'diff(y1)-y2 = 0';'diff(y2)-y3 = 0';'diff(y3)+y2 = 0'}, ...
{'y1(0)=0';'y2(0)=1';'y3(0)=0'}, 3);
See also
tau, taupw, tausys and schursolver.
[x, y] = tau('LegendreP', [0 2*pi], 10) a = tausyspw(x, y, ... {'diff(y1)-y2 = 0';'diff(y2)-y3 = 0';'diff(y3)+y2 = 0'}, ... {'y1(0)=0';'y2(0)=1';'y3(0)=0'}, 3);