How I can code this Nonuniform Series?
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
Torsten
2018-10-11
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.
采纳的回答
Dimitris Kalogiros
2018-10-11
编辑:Dimitris Kalogiros
2018-10-11
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 个评论
Walter Roberson
2018-10-11
编辑:Walter Roberson
2018-10-11
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!