Generate Polynomial Expansion Orders as a matrix

Hi,
I have to create a polynomial, lets say, with dimensions =4 (x1,x2,x3,x4) and order =2.
Then the expansion becomes:
f= 1+a1*x1+a2*x2+a3*x3+a4*x4+a5*x1^2+a6*x1*x2+a7*x1*x3+a8*x1*x4+a9*x2^2+a10*x2*x3+......so on.
I want these monomial orders in the format such as :
[0,0,0,0;
1,0,0,0;
0,1,0,0;
0,0,1,0;
0,0,0,1;
2,0,0,0;
1,1,0,0;
1,0,1,0,
1,0,0,1;
0,2,0,0;
0,1,1,0;
...... so on]
I am not able to figure out how to get that.
Therefore, requesting your help.

 채택된 답변

Bruno Luong
Bruno Luong 2022년 4월 17일
편집: Bruno Luong 2022년 4월 17일
You can use this FEX (also attached)
allVL1(4,2,'<=')
ans = 15×4
0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 2 0 0 1 1 0 0 2 0 0 1 0 1 0 1 1 0

댓글 수: 4

Thanks a lot!
Thanks a lot bruno.
But, I need the coefficients, in the specific order mentioned in the question.
Could you provide information on how to change that?
Do you want like this?
A=sortrows(allVL1(4,2,'<='),'descend');
[~,is]=sort(sum(A,2));
A=A(is,:)
A = 15×4
0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 2 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 2 0 0
Thanks a lot. It really helps :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2022년 4월 17일

댓글:

2022년 4월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by