根据列表中的元素展开矩阵

  • 本文关键字:元素 列表 matlab matrix
  • 更新时间 :
  • 英文 :


我目前创建了一个函数,它接受两个参数。

function p = matr(x, phi)
x_dir = linspace(0, x, 1);
r = linspace(0, phi, 1);
p = zeros(800, 2);
p(1:400, 1) = p(1:400, 1) + x_dir.';
p(401:800, 2) = p(401:800, 2) + r.';
end

返回给定输入的矩阵:

path = trajectory(10, pi/2)

path =
0         0
0.0251         0
0.0501         0
0.0752         0
0.1003         0
0.1253         0
0.1504         0
0.1754         0
0.2005         0
0.2256         0
0.2506         0
0.2757         0
0.3008         0
0.3258         0
0.3509         0
0.3759         0
0.4010         0
0.4261         0
0.4511         0
0.4762         0
0.5013         0
0.5263         0
0.5514         0
0.5764         0
0.6015         0
0.6266         0
0.6516         0
0.6767         0
0.7018         0
0.7268         0
0.7519         0
0.7769         0
0.8020         0
0.8271         0
0.8521         0
0.8772         0
0.9023         0
0.9273         0
0.9524         0
0.9774         0
1.0025         0
1.0276         0
1.0526         0
1.0777         0
1.1028         0
1.1278         0
1.1529         0
1.1779         0
1.2030         0
1.2281         0
1.2531         0
1.2782         0
1.3033         0
1.3283         0
1.3534         0
1.3784         0
1.4035         0
1.4286         0
1.4536         0
1.4787         0
1.5038         0
1.5288         0
1.5539         0
1.5789         0
1.6040         0
1.6291         0
1.6541         0
1.6792         0
1.7043         0
1.7293         0
1.7544         0
1.7794         0
1.8045         0
1.8296         0
1.8546         0
1.8797         0
1.9048         0
1.9298         0
1.9549         0
1.9799         0
2.0050         0
2.0301         0
2.0551         0
2.0802         0
2.1053         0
2.1303         0
2.1554         0
2.1805         0
2.2055         0
2.2306         0
2.2556         0
2.2807         0
2.3058         0
2.3308         0
2.3559         0
2.3810         0
2.4060         0
2.4311         0
2.4561         0
2.4812         0
2.5063         0
2.5313         0
2.5564         0
2.5815         0
2.6065         0
2.6316         0
2.6566         0
2.6817         0
2.7068         0
2.7318         0
2.7569         0
2.7820         0
2.8070         0
2.8321         0
2.8571         0
2.8822         0
2.9073         0
2.9323         0
2.9574         0
2.9825         0
3.0075         0
3.0326         0
3.0576         0
3.0827         0
3.1078         0
3.1328         0
3.1579         0
3.1830         0
3.2080         0
3.2331         0
3.2581         0
3.2832         0
3.3083         0
3.3333         0
3.3584         0
3.3835         0
3.4085         0
3.4336         0
3.4586         0
3.4837         0
3.5088         0
3.5338         0
3.5589         0
3.5840         0
3.6090         0
3.6341         0
3.6591         0
3.6842         0
3.7093         0
3.7343         0
3.7594         0
3.7845         0
3.8095         0
3.8346         0
3.8596         0
3.8847         0
3.9098         0
3.9348         0
3.9599         0
3.9850         0
4.0100         0
4.0351         0
4.0602         0
4.0852         0
4.1103         0
4.1353         0
4.1604         0
4.1855         0
4.2105         0
4.2356         0
4.2607         0
4.2857         0
4.3108         0
4.3358         0
4.3609         0
4.3860         0
4.4110         0
4.4361         0
4.4612         0
4.4862         0
4.5113         0
4.5363         0
4.5614         0
4.5865         0
4.6115         0
4.6366         0
4.6617         0
4.6867         0
4.7118         0
4.7368         0
4.7619         0
4.7870         0
4.8120         0
4.8371         0
4.8622         0
4.8872         0
4.9123         0
4.9373         0
4.9624         0
4.9875         0
5.0125         0
5.0376         0
5.0627         0
5.0877         0
5.1128         0
5.1378         0
5.1629         0
5.1880         0
5.2130         0
5.2381         0
5.2632         0
5.2882         0
5.3133         0
5.3383         0
5.3634         0
5.3885         0
5.4135         0
5.4386         0
5.4637         0
5.4887         0
5.5138         0
5.5388         0
5.5639         0
5.5890         0
5.6140         0
5.6391         0
5.6642         0
5.6892         0
5.7143         0
5.7393         0
5.7644         0
5.7895         0
5.8145         0
5.8396         0
5.8647         0
5.8897         0
5.9148         0
5.9398         0
5.9649         0
5.9900         0
6.0150         0
6.0401         0
6.0652         0
6.0902         0
6.1153         0
6.1404         0
6.1654         0
6.1905         0
6.2155         0
6.2406         0
6.2657         0
6.2907         0
6.3158         0
6.3409         0
6.3659         0
6.3910         0
6.4160         0
6.4411         0
6.4662         0
6.4912         0
6.5163         0
6.5414         0
6.5664         0
6.5915         0
6.6165         0
6.6416         0
6.6667         0
6.6917         0
6.7168         0
6.7419         0
6.7669         0
6.7920         0
6.8170         0
6.8421         0
6.8672         0
6.8922         0
6.9173         0
6.9424         0
6.9674         0
6.9925         0
7.0175         0
7.0426         0
7.0677         0
7.0927         0
7.1178         0
7.1429         0
7.1679         0
7.1930         0
7.2180         0
7.2431         0
7.2682         0
7.2932         0
7.3183         0
7.3434         0
7.3684         0
7.3935         0
7.4185         0
7.4436         0
7.4687         0
7.4937         0
7.5188         0
7.5439         0
7.5689         0
7.5940         0
7.6190         0
7.6441         0
7.6692         0
7.6942         0
7.7193         0
7.7444         0
7.7694         0
7.7945         0
7.8195         0
7.8446         0
7.8697         0
7.8947         0
7.9198         0
7.9449         0
7.9699         0
7.9950         0
8.0201         0
8.0451         0
8.0702         0
8.0952         0
8.1203         0
8.1454         0
8.1704         0
8.1955         0
8.2206         0
8.2456         0
8.2707         0
8.2957         0
8.3208         0
8.3459         0
8.3709         0
8.3960         0
8.4211         0
8.4461         0
8.4712         0
8.4962         0
8.5213         0
8.5464         0
8.5714         0
8.5965         0
8.6216         0
8.6466         0
8.6717         0
8.6967         0
8.7218         0
8.7469         0
8.7719         0
8.7970         0
8.8221         0
8.8471         0
8.8722         0
8.8972         0
8.9223         0
8.9474         0
8.9724         0
8.9975         0
9.0226         0
9.0476         0
9.0727         0
9.0977         0
9.1228         0
9.1479         0
9.1729         0
9.1980         0
9.2231         0
9.2481         0
9.2732         0
9.2982         0
9.3233         0
9.3484         0
9.3734         0
9.3985         0
9.4236         0
9.4486         0
9.4737         0
9.4987         0
9.5238         0
9.5489         0
9.5739         0
9.5990         0
9.6241         0
9.6491         0
9.6742         0
9.6992         0
9.7243         0
9.7494         0
9.7744         0
9.7995         0
9.8246         0
9.8496         0
9.8747         0
9.8997         0
9.9248         0
9.9499         0
9.9749         0
10.000         0
0         0
0    0.0039
0    0.0079
0    0.0118
0    0.0157
0    0.0197
0    0.0236
0    0.0276
0    0.0315
0    0.0354
0    0.0394
0    0.0433
0    0.0472
0    0.0512
0    0.0551
0    0.0591
0    0.0630
0    0.0669
0    0.0709
0    0.0748
0    0.0787
0    0.0827
0    0.0866
0    0.0905
0    0.0945
0    0.0984
0    0.1024
0    0.1063
0    0.1102
0    0.1142
0    0.1181
0    0.1220
0    0.1260
0    0.1299
0    0.1339
0    0.1378
0    0.1417
0    0.1457
0    0.1496
0    0.1535
0    0.1575
0    0.1614
0    0.1653
0    0.1693
0    0.1732
0    0.1772
0    0.1811
0    0.1850
0    0.1890
0    0.1929
0    0.1968
0    0.2008
0    0.2047
0    0.2087
0    0.2126
0    0.2165
0    0.2205
0    0.2244
0    0.2283
0    0.2323
0    0.2362
0    0.2401
0    0.2441
0    0.2480
0    0.2520
0    0.2559
0    0.2598
0    0.2638
0    0.2677
0    0.2716
0    0.2756
0    0.2795
0    0.2835
0    0.2874
0    0.2913
0    0.2953
0    0.2992
0    0.3031
0    0.3071
0    0.3110
0    0.3149
0    0.3189
0    0.3228
0    0.3268
0    0.3307
0    0.3346
0    0.3386
0    0.3425
0    0.3464
0    0.3504
0    0.3543
0    0.3583
0    0.3622
0    0.3661
0    0.3701
0    0.3740
0    0.3779
0    0.3819
0    0.3858
0    0.3897
0    0.3937
0    0.3976
0    0.4016
0    0.4055
0    0.4094
0    0.4134
0    0.4173
0    0.4212
0    0.4252
0    0.4291
0    0.4331
0    0.4370
0    0.4409
0    0.4449
0    0.4488
0    0.4527
0    0.4567
0    0.4606
0    0.4645
0    0.4685
0    0.4724
0    0.4764
0    0.4803
0    0.4842
0    0.4882
0    0.4921
0    0.4960
0    0.5000
0    0.5039
0    0.5079
0    0.5118
0    0.5157
0    0.5197
0    0.5236
0    0.5275
0    0.5315
0    0.5354
0    0.5393
0    0.5433
0    0.5472
0    0.5512
0    0.5551
0    0.5590
0    0.5630
0    0.5669
0    0.5708
0    0.5748
0    0.5787
0    0.5827
0    0.5866
0    0.5905
0    0.5945
0    0.5984
0    0.6023
0    0.6063
0    0.6102
0    0.6141
0    0.6181
0    0.6220
0    0.6260
0    0.6299
0    0.6338
0    0.6378
0    0.6417
0    0.6456
0    0.6496
0    0.6535
0    0.6575
0    0.6614
0    0.6653
0    0.6693
0    0.6732
0    0.6771
0    0.6811
0    0.6850
0    0.6889
0    0.6929
0    0.6968
0    0.7008
0    0.7047
0    0.7086
0    0.7126
0    0.7165
0    0.7204
0    0.7244
0    0.7283
0    0.7323
0    0.7362
0    0.7401
0    0.7441
0    0.7480
0    0.7519
0    0.7559
0    0.7598
0    0.7637
0    0.7677
0    0.7716
0    0.7756
0    0.7795
0    0.7834
0    0.7874
0    0.7913
0    0.7952
0    0.7992
0    0.8031
0    0.8071
0    0.8110
0    0.8149
0    0.8189
0    0.8228
0    0.8267
0    0.8307
0    0.8346
0    0.8385
0    0.8425
0    0.8464
0    0.8504
0    0.8543
0    0.8582
0    0.8622
0    0.8661
0    0.8700
0    0.8740
0    0.8779
0    0.8819
0    0.8858
0    0.8897
0    0.8937
0    0.8976
0    0.9015
0    0.9055
0    0.9094
0    0.9133
0    0.9173
0    0.9212
0    0.9252
0    0.9291
0    0.9330
0    0.9370
0    0.9409
0    0.9448
0    0.9488
0    0.9527
0    0.9567
0    0.9606
0    0.9645
0    0.9685
0    0.9724
0    0.9763
0    0.9803
0    0.9842
0    0.9881
0    0.9921
0    0.9960
0    1.0000
0    1.0039
0    1.0078
0    1.0118
0    1.0157
0    1.0196
0    1.0236
0    1.0275
0    1.0315
0    1.0354
0    1.0393
0    1.0433
0    1.0472
0    1.0511
0    1.0551
0    1.0590
0    1.0629
0    1.0669
0    1.0708
0    1.0748
0    1.0787
0    1.0826
0    1.0866
0    1.0905
0    1.0944
0    1.0984
0    1.1023
0    1.1063
0    1.1102
0    1.1141
0    1.1181
0    1.1220
0    1.1259
0    1.1299
0    1.1338
0    1.1377
0    1.1417
0    1.1456
0    1.1496
0    1.1535
0    1.1574
0    1.1614
0    1.1653
0    1.1692
0    1.1732
0    1.1771
0    1.1810
0    1.1850
0    1.1889
0    1.1929
0    1.1968
0    1.2007
0    1.2047
0    1.2086
0    1.2125
0    1.2165
0    1.2204
0    1.2244
0    1.2283
0    1.2322
0    1.2362
0    1.2401
0    1.2440
0    1.2480
0    1.2519
0    1.2558
0    1.2598
0    1.2637
0    1.2677
0    1.2716
0    1.2755
0    1.2795
0    1.2834
0    1.2873
0    1.2913
0    1.2952
0    1.2992
0    1.3031
0    1.3070
0    1.3110
0    1.3149
0    1.3188
0    1.3228
0    1.3267
0    1.3306
0    1.3346
0    1.3385
0    1.3425
0    1.3464
0    1.3503
0    1.3543
0    1.3582
0    1.3621
0    1.3661
0    1.3700
0    1.3740
0    1.3779
0    1.3818
0    1.3858
0    1.3897
0    1.3936
0    1.3976
0    1.4015
0    1.4054
0    1.4094
0    1.4133
0    1.4173
0    1.4212
0    1.4251
0    1.4291
0    1.4330
0    1.4369
0    1.4409
0    1.4448
0    1.4488
0    1.4527
0    1.4566
0    1.4606
0    1.4645
0    1.4684
0    1.4724
0    1.4763
0    1.4802
0    1.4842
0    1.4881
0    1.4921
0    1.4960
0    1.4999
0    1.5039
0    1.5078
0    1.5117
0    1.5157
0    1.5196
0    1.5236
0    1.5275
0    1.5314
0    1.5354
0    1.5393
0    1.5432
0    1.5472
0    1.5511
0    1.5550
0    1.5590
0    1.5629
0    1.5669
0    1.5708

但是我想修改这个函数,使它可以两个列表,如:

trajectory([x1, x2, x3, ... xn], [phi1, phi2, phi3, ..., phin])

并创建如下的矩阵:

trajectory =
x1   0
x1+k 0
.    0
.    0
x1_n 0
0    phi1
0    phi1+k
0    .
0    .
0    phi1_n
x2   0
x2+k 0
.    0
.    0
x2_n 0
0    phi2
0    phi2+k
0    .
0    .
0    phi2_n

等等。所以我在想是否有一种更自动的方式来扩展矩阵,这样就可以提供两个列表作为输入参数,矩阵根据列表的元素展开。

function p = matr(x, phi)

p = zeros(800*length(x), 2);
for ii = 1:length(x)
x_dir = linspace(0, x(ii), 400);
r = linspace(0, phi(ii), 400);
p((800*(ii-1)+1):(800*(ii-1)+400), 1) = x_dir;
p((800*ii-399):(800*ii), 2) = r;
end
end

function p2 = matr_compound(x, phi)
p2 = [];
for ii = 1:length(x)
p2 = [p2; matr(x(ii), phi(ii))];
end
end

相关内容

  • 没有找到相关文章

最新更新