将p个x和q个y数据代入下面这个公式里, X=(x1、x2、x3……xp),Y=(y1、y2、y3……yq)
最后想把输出结果弄为一个矩阵F,以n=2为例,这个输出矩阵F的行长度是p×q,列长度是(n+1)²
你好,代码供参考,n你可以任意设置:
clc ;clear
n = 2; % n值,可改变
[i2, i1] = meshgrid(0:n);
% 由于你没有提供xy,我这里x和y是从2到11和1:10(你可以选择自己的)
x = 2:11; % 1×10的x
y = 1:10; % 1×10的y
i1 = i1(:); % i1是x的幂指标
i2 = i2(:); % i2是y的幂指标
p = length(x); % p是x或者
q = length(y); % q是y的长度
[q1,p1] = meshgrid(1:p, 1:q);
X = x(p1(:));
Y = y(q1(:));
F = zeros(p*q, (n+1)^2);% F的大小
for i = 1:1:numel(X)%一次循环即可
F(i,:) = X(i).^i1.*Y(i).^i2;%F的计算,从x(1)、y(1)一直到xp、yq
end
F
%最后F就是你需要的矩阵
结果示意:
F =
1 2 4 1 2 4 1 2 4
1 3 9 1 3 9 1 3 9
1 4 16 1 4 16 1 4 16
1 5 25 1 5 25 1 5 25
1 6 36 1 6 36 1 6 36
1 7 49 1 7 49 1 7 49
1 8 64 1 8 64 1 8 64
1 9 81 1 9 81 1 9 81
1 10 100 1 10 100 1 10 100
1 11 121 1 11 121 1 11 121
1 2 4 2 4 8 4 8 16
1 3 9 2 6 18 4 12 36
1 4 16 2 8 32 4 16 64
1 5 25 2 10 50 4 20 100
1 6 36 2 12 72 4 24 144
1 7 49 2 14 98 4 28 196
1 8 64 2 16 128 4 32 256
1 9 81 2 18 162 4 36 324
1 10 100 2 20 200 4 40 400
1 11 121 2 22 242 4 44 484
1 2 4 3 6 12 9 18 36
1 3 9 3 9 27 9 27 81
1 4 16 3 12 48 9 36 144
1 5 25 3 15 75 9 45 225
1 6 36 3 18 108 9 54 324
1 7 49 3 21 147 9 63 441
1 8 64 3 24 192 9 72 576
1 9 81 3 27 243 9 81 729
1 10 100 3 30 300 9 90 900
1 11 121 3 33 363 9 99 1089
1 2 4 4 8 16 16 32 64
1 3 9 4 12 36 16 48 144
1 4 16 4 16 64 16 64 256
1 5 25 4 20 100 16 80 400
1 6 36 4 24 144 16 96 576
1 7 49 4 28 196 16 112 784
1 8 64 4 32 256 16 128 1024
1 9 81 4 36 324 16 144 1296
1 10 100 4 40 400 16 160 1600
1 11 121 4 44 484 16 176 1936
1 2 4 5 10 20 25 50 100
1 3 9 5 15 45 25 75 225
1 4 16 5 20 80 25 100 400
1 5 25 5 25 125 25 125 625
1 6 36 5 30 180 25 150 900
1 7 49 5 35 245 25 175 1225
1 8 64 5 40 320 25 200 1600
1 9 81 5 45 405 25 225 2025
1 10 100 5 50 500 25 250 2500
1 11 121 5 55 605 25 275 3025
1 2 4 6 12 24 36 72 144
1 3 9 6 18 54 36 108 324
1 4 16 6 24 96 36 144 576
1 5 25 6 30 150 36 180 900
1 6 36 6 36 216 36 216 1296
1 7 49 6 42 294 36 252 1764
1 8 64 6 48 384 36 288 2304
1 9 81 6 54 486 36 324 2916
1 10 100 6 60 600 36 360 3600
1 11 121 6 66 726 36 396 4356
1 2 4 7 14 28 49 98 196
1 3 9 7 21 63 49 147 441
1 4 16 7 28 112 49 196 784
1 5 25 7 35 175 49 245 1225
1 6 36 7 42 252 49 294 1764
1 7 49 7 49 343 49 343 2401
1 8 64 7 56 448 49 392 3136
1 9 81 7 63 567 49 441 3969
1 10 100 7 70 700 49 490 4900
1 11 121 7 77 847 49 539 5929
1 2 4 8 16 32 64 128 256
1 3 9 8 24 72 64 192 576
1 4 16 8 32 128 64 256 1024
1 5 25 8 40 200 64 320 1600
1 6 36 8 48 288 64 384 2304
1 7 49 8 56 392 64 448 3136
1 8 64 8 64 512 64 512 4096
1 9 81 8 72 648 64 576 5184
1 10 100 8 80 800 64 640 6400
1 11 121 8 88 968 64 704 7744
1 2 4 9 18 36 81 162 324
1 3 9 9 27 81 81 243 729
1 4 16 9 36 144 81 324 1296
1 5 25 9 45 225 81 405 2025
1 6 36 9 54 324 81 486 2916
1 7 49 9 63 441 81 567 3969
1 8 64 9 72 576 81 648 5184
1 9 81 9 81 729 81 729 6561
1 10 100 9 90 900 81 810 8100
1 11 121 9 99 1089 81 891 9801
1 2 4 10 20 40 100 200 400
1 3 9 10 30 90 100 300 900
1 4 16 10 40 160 100 400 1600
1 5 25 10 50 250 100 500 2500
1 6 36 10 60 360 100 600 3600
1 7 49 10 70 490 100 700 4900
1 8 64 10 80 640 100 800 6400
1 9 81 10 90 810 100 900 8100
1 10 100 10 100 1000 100 1000 10000
1 11 121 10 110 1210 100 1100 12100
有帮助望采纳哟,帮助答主冲榜哦,谢谢啦
p=4;
q=5;
n=2;
x=1:1:p;
y=1:1:q;
f = ones(p*q,(n+1)^2);
m1 = 0;
for i = 1:p
for j = 1:q
m1 = m1 + 1;
m2 = 0;
for k = 0:n
for L = 0:n
m2 = m2 +1;
f(m1,m2) = (x(i)^L) * (y(j)^k);
end
end
end
end
我觉得 你要的是这种 通配的函数 X Y n 随便改的这种
function result = Fxy( X,Y ,n)
p=size(X,2);
q=size(Y,2);
colN = (n+1)^2;
rowN = p*q;
X=X';
%重复q行,colN列 X竖向量 就是最终的样子
matX = repmat(X,q,colN);
Y=Y';
matY=[];
%每行重复p行,colN列 Y竖向量
for i=1:1:q
matY = [matY;repmat(Y(i),p,colN)];
end
%x部分处理
for i = 1:1:colN
xZhiShu=mod(i-1,n+1);
matX(:,i) = matX(:,i).^xZhiShu;
end
%y部分处理
for i = 1:n+1:colN-n
yZhiShu = (i-1)/(n+1);
matY(:,i:i+2) = matY(:,i:i+2).^yZhiShu;
end
result = matX.*matY;
end
脚本调用尝试
X=[1,2,3,4,5];
Y=[1,2,3,4,5,6];
n=2;
F =Fxy(X,Y,2);
X=[3,2,3,4,5];
Y=[4,2,5,2,4,2];
n=3;
F2 =Fxy(X,Y,2);
结果F
1 1 1 1 1 1 1 1 1
1 2 4 1 2 4 1 2 4
1 3 9 1 3 9 1 3 9
1 4 16 1 4 16 1 4 16
1 5 25 1 5 25 1 5 25
1 1 1 2 2 2 4 4 4
1 2 4 2 4 8 4 8 16
1 3 9 2 6 18 4 12 36
1 4 16 2 8 32 4 16 64
1 5 25 2 10 50 4 20 100
1 1 1 3 3 3 9 9 9
1 2 4 3 6 12 9 18 36
1 3 9 3 9 27 9 27 81
1 4 16 3 12 48 9 36 144
1 5 25 3 15 75 9 45 225
1 1 1 4 4 4 16 16 16
1 2 4 4 8 16 16 32 64
1 3 9 4 12 36 16 48 144
1 4 16 4 16 64 16 64 256
1 5 25 4 20 100 16 80 400
1 1 1 5 5 5 25 25 25
1 2 4 5 10 20 25 50 100
1 3 9 5 15 45 25 75 225
1 4 16 5 20 80 25 100 400
1 5 25 5 25 125 25 125 625
1 1 1 6 6 6 36 36 36
1 2 4 6 12 24 36 72 144
1 3 9 6 18 54 36 108 324
1 4 16 6 24 96 36 144 576
1 5 25 6 30 150 36 180 900
结果2
1 3 9 4 12 36 16 48 144
1 2 4 4 8 16 16 32 64
1 3 9 4 12 36 16 48 144
1 4 16 4 16 64 16 64 256
1 5 25 4 20 100 16 80 400
1 3 9 2 6 18 4 12 36
1 2 4 2 4 8 4 8 16
1 3 9 2 6 18 4 12 36
1 4 16 2 8 32 4 16 64
1 5 25 2 10 50 4 20 100
1 3 9 5 15 45 25 75 225
1 2 4 5 10 20 25 50 100
1 3 9 5 15 45 25 75 225
1 4 16 5 20 80 25 100 400
1 5 25 5 25 125 25 125 625
1 3 9 2 6 18 4 12 36
1 2 4 2 4 8 4 8 16
1 3 9 2 6 18 4 12 36
1 4 16 2 8 32 4 16 64
1 5 25 2 10 50 4 20 100
1 3 9 4 12 36 16 48 144
1 2 4 4 8 16 16 32 64
1 3 9 4 12 36 16 48 144
1 4 16 4 16 64 16 64 256
1 5 25 4 20 100 16 80 400
1 3 9 2 6 18 4 12 36
1 2 4 2 4 8 4 8 16
1 3 9 2 6 18 4 12 36
1 4 16 2 8 32 4 16 64
1 5 25 2 10 50 4 20 100