How I can code this Nonuniform Series?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
mohamad hoseini
el 10 de Oct. de 2018
Editada: mohamad hoseini
el 12 de Oct. de 2018
Hi all,
I have a problem in coding of series below:

from n=0 & P0(x)=1. I used handle function in a for loop but I couldn't to save the handle function at the end of each iteration. I appreciate you if you could help me on this problem.
Thanks
4 comentarios
Torsten
el 11 de Oct. de 2018
Do these recursively defined polynomials have a name ?
Then maybe googling this name together with "matlab" will give you hints on how to efficiently calculate them.
Respuesta aceptada
Dimitris Kalogiros
el 11 de Oct. de 2018
Editada: Dimitris Kalogiros
el 11 de Oct. de 2018
Provided that you can use symbolic math toolbox, I suggest the following:
close all; clc; clearvars;
syms n x Pn(x)
% first N polynomials
N=5;
f{N}=0;
% definition for n=0
Pn(x)=1;
f{1}=Pn(x);
% calculation from n=1 up to n=N
for n=1:N
Pn(x)=x^n;
for k=1:n
Pn(x)=Pn(x)- ( int((x^n)*f{k},x,-1,1) / int(f{k}^2,x,-1,1) )* f{k} ;
end
%store next polynomial
f{n+1}=Pn(x);
end
%display all calculated polynomials
for k=0:N
fprintf(' for n = %d ', k);
disp(f{k+1})
end
If you run it , lets say , to calculate P1(x), P2(x),...,P5(x) , you'll get something like this:

The "tip" here is to use the cell array f{}, in order to store all Pn(x) polynomials.
2 comentarios
Walter Roberson
el 11 de Oct. de 2018
Editada: Walter Roberson
el 11 de Oct. de 2018
Alternatively you could phrase it as P{n+1}(x). Which is to say that you can use a cell array of function handles to solve the coding, without using symbolic toolbox.
This is a situation where I would want to analyze to see whether memoize() is appropriate.
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!