您现在的位置:首页 >> 技术文章 >> MATLAB技术 >> 内容

MATLAB代做|FPGA代做|python代做-数据拟合matlab源码

时间:2021-1-17 6:21:53 点击:

  核心提示:MATLAB代做|FPGA代做|python代做-数据拟合matlab源码...
clc,clear;
label=[237 137
    232 127
    204 119
    188 100
    168 94
    143 74
    117 67
    122 48
    108 38
    102 23
    99 3
    170 145
    150 133
    140 120
    105 108
    85 92
    63 73
    53 57
    37 41
    18 37
    130 135
    110 139
    93 138
    66 132
    86 122
    49 123
    18 108
    37 91
    44 74
    24 75
    23 57
    175 132
    175 115
    155 105
    140 105
    137 87
    106 94
    102 72
    77 79
    83 65
    58 47
    93 45
    33 29
    58 24
    80 30
    80 13
    234 118
    220 110
    168 83
    193 78
    149 68
    143 55
    195 60
    164 50
    183 50
    221 54
    165 40
    178 33
    196 39
    226 43
    160 18
    214 23
    121 8
    193 137
    205 92
    159 62
    143 38
    108 80
    55 38
    62 105
    135 142
    127 143
    124 129
    115 130
    105 130
    108 145
    90 145
    72 142
    60 139
    70 121
    100 121
    53 132
    37 127
    25 120
    15 115
    7 105
    28 106
    24 90
    45 90
    49 82
    16 76
    15 70
    14 56
    168 126
    165 117
    165 105
    145 113
    132 100
    130 94
    130 80
    110 100
    114 90
    95 90
    95 77
    106 63
    86 75
    72 70
    74 60
    79 53
    68 46
    46 20
    59 15
    77 5
    240 127
    240 107
    230 100
    220 98
    158 77
    176 75
    206 77
    184 62
    215 62
    227 64
    206 46
    231 49
    232 37
    148 15
    170 17
    201 22
    224 20 ];
relat=zeros(130,130);
ll=[1 2
    2 64
    2 3
    2 47
    47 48
    64 3
    3 48
    64 12
    64 32
    3 32
    3 33
    3 4
    48 65
    65 4
    65 50
    50 4
    4 33
    33 32
    12 13
    13 32
    13 14
    13 21
    21 14
    35 14
    35 34
    34 5
    4 5
    5 49
    49 50
    50 53
    53 56
    60 56
    60 62
    59 62
    59 53
    55 59
    59 58
    55 58
    58 57
    61 58
    55 53
    54 55
    57 54
    54 66
    66 51
    6 51
    6 5
    36 6
    36 34
    22 21
    22 23
    24 23
    24 26
    27 26
    27 28
    30 28
    30 31
    20 31
    20 19
    43 19
    43 44
    46 44
    46 11
    63 11
    63 67
    61 67
    67 57
    52 67
    67 9
    66 52
    52 7
    8 52
    7 8
    42 8
    8 9
    63 9
    9 10
    45 9
    45 10
    46 45
    45 44
    42 45
    69 44
    41 69
    41 18
    19 18
    18 29
    17 18
    29 31
    30 29
    29 28
    70 28
    70 26
    25 70
    70 16
    24 25
    25 23
    15 25
    37 15
    15 14
    39 16
    39 40
    42 40
    42 38
    68 38
    68 37
    19 31
    10 11
    10 63
    16 17
    15 16
    7 68
    12 32
    33 34
    6 7
    71 21
    72 21
    73 21
    74 22
    75 22
    76 22
    77 23
    78 24
    79 24
    80 25
    81 25
    82 26
    83 26
    84 27
    85 27
    86 27
    87 27
    88 28
    89 28
    90 29
    91 30
    92 30
    93 31
    94 32
    95 33
    96 34
    97 35
    98 35
    99 36
    100 36
    101 37
    102 37
    103 37
    104 38
    105 38
    106 39
    107 40
    108 40
    109 40
    110 41
    111 44
    112 44
    113 46
    114 47
    115 47
    116 48
    117 48
    118 49
    119 49
    120 50
    121 53
    122 56
    123 56
    124 59
    125 60
    126 60
    127 61
    128 61
    129 62
    130 62];
for i=1:175
    relat(ll(i,1),ll(i,2))=1;
    relat(ll(i,2),ll(i,1))=1;
end
for i=1:130
    relat(i,i)=1;
end
for i=1:130
    for j=1:130
        p2p(i,j)=sqrt((label(i,1)-label(j,1))^2+(label(i,2)-label(j,2))^2);
        p2p(i,j)=p2p(i,j)/relat(i,j);
        if (abs(i-j)==1&i<=11&j<=11)
            p2pa(i,j)=60*p2p(i,j)/70;
            p2pb(i,j)=60*p2p(i,j)/60;
            p2pc(i,j)=60*p2p(i,j)/50;
        elseif (abs(i-j)==1&i<=20&i>=12&j<=20&j>=12)
            p2pa(i,j)=60*p2p(i,j)/70;
            p2pb(i,j)=60*p2p(i,j)/60;
            p2pc(i,j)=60*p2p(i,j)/50;
        else
            p2pa(i,j)=60*p2p(i,j)/45;
            p2pb(i,j)=60*p2p(i,j)/35;
            p2pc(i,j)=60*p2p(i,j)/30;
        end
    end
end
p2p(isinf(p2p))=0;
p2pa(isinf(p2pa))=0;
p2pb(isinf(p2pb))=0;
p2pc(isinf(p2pc))=0;
for i=1:130
    [d, p, pred] = graphshortestpath(sparse(p2p),i);
    dist(i,:)=d;%记录任意点到点间的距离
    path(i,:)=p;%记录点到点间最短距离的路径
    [da, pa, pred] = graphshortestpath(sparse(p2pa),i);
    dista(i,:)=da;%记录任意点到点间的距离
    patha(i,:)=pa;%记录点到点间最短距离的路径
    [db, pb, pred] = graphshortestpath(sparse(p2pb),i);
    distb(i,:)=db;%记录任意点到点间的距离
    pathb(i,:)=pb;%记录点到点间最短距离的路径
    [dc, pc, pred] = graphshortestpath(sparse(p2pc),i);
    distc(i,:)=dc;%记录任意点到点间的距离
    pathc(i,:)=pc;%记录点到点间最短距离的路径
end
e=[1 0 0 0
    12 0 0 0
    20 0 0 0
    43 0.016383513 0 0.022936918
    19 0.018817718 0 0.026344805
    54 0.020588169 0 0.028823437
    2 0.023004233 0 0.032205926
    17 0.030577737 0 0.042808831
    51 0.033558213 0 0.046981499
    52 0.033558213 0 0.046981499
    11 0.061182447 0 0.085655426
    5 0.06188349 0 0.086636886
    10 0.065710183 0 0.091994256
    55 0.070424023 0 0.098593632
    45 0.076110225 0 0.106554314
    58 0.091876096 0 0.128626534
    8 0.137558182 0 0.192581455
    9 0.137558182 0 0.192581455
    57 0.148783018 0 0.208296225
    4 0.152754495 0 0.213856293
    16 0.1620296 0 0.22684144
    18 0.171132183 0 0.239585056
    31 0 0.25 0.25
    46 0.01672097 0.25 0.273409357
    7 0.197957406 0 0.277140369
    3 0.23459371 0 0.328431195
    39 0.082009826 0.25 0.364813757
    6 0.286886585 0 0.401641218
    29 0.109678098 0.25 0.403549337
    23 0.116973417 0.25 0.413762784
    59 0.118518814 0.25 0.415926339
    34 0.12119015 0.25 0.419666211
    33 0.126709415 0.25 0.427393181
    41 0.132974006 0.25 0.436163608
    42 0.341073661 0 0.477503125
    30 0 0.5 0.5
    35 0 0.5 0.5
    47 0 0.5 0.5
    49 0 0.5 0.5
    60 0 0.5 0.5
    61 0 0.5 0.5
    62 0.003558045 0.5 0.504981263
    38 0.003929448 0.5 0.505501227
    14 0.362431057 0 0.50740348
    48 0.03338929 0.5 0.546745006
    36 0.03371844 0.5 0.547205816
    26 0.047006252 0.5 0.565808752
    56 0.05126291 0.5 0.571768073
    32 0.233390363 0.25 0.576746508
    24 0.079127613 0.5 0.610778658
    28 0.108482317 0.5 0.651875244
    25 0.110695944 0.5 0.654974322
    15 0.522434358 0 0.731408101
    40 0.06298562 0.75 0.838179868
    22 0.122915949 0.75 0.922082328
    27 0 1 1
    37 0.21426536 0.75 1.049971504
    44 0.443784677 0.5 1.121298548
    50 0.639425048 0.25 1.145195067
    53 0.695560546 0.25 1.223784764
    21 0.386771533 0.75 1.291480146
    13 1 0 1.4];
for i=63:130
    for j=1:4
        e(i,j)=0;
    end
end
e=sortrows(e,1);
pathe=zeros(130,130);
pathae=zeros(130,130);
pathbe=zeros(130,130);
pathce=zeros(130,130);
for i=1:130
    for j=1:130
        r=size(path{i,j},2);
        ra=size(patha{i,j},2);
        rb=size(pathb{i,j},2);
        rc=size(pathc{i,j},2);
        for q=1:r
            pathe(i,j)=pathe(i,j)+e(path{i,j}(1,q),4);
        end
        pathe(i,j)=pathe(i,j)-0.5*(path{i,j}(1,1)+path{i,j}(1,r));
        for q=1:ra
            pathae(i,j)=pathae(i,j)+e(patha{i,j}(1,q),4);
        end
        pathae(i,j)=pathae(i,j)-0.5*(patha{i,j}(1,1)+patha{i,j}(1,ra));
        for q=1:rb
            pathbe(i,j)=pathbe(i,j)+e(pathb{i,j}(1,q),4);
        end
        pathbe(i,j)=pathbe(i,j)-0.5*(pathb{i,j}(1,1)+pathb{i,j}(1,rb));
        for q=1:rc
            pathce(i,j)=pathce(i,j)+e(pathc{i,j}(1,q),4);
        end
        pathce(i,j)=pathce(i,j)-0.5*(pathc{i,j}(1,1)+pathc{i,j}(1,rc));
        dist(i,j)=dist(i,j)/17+1.6*pathe(i,j);
        dista(i,j)=dista(i,j)/17+1.6*pathae(i,j);
        distb(i,j)=distb(i,j)/17+1.6*pathbe(i,j);
        distc(i,j)=distc(i,j)/17+1.6*pathce(i,j);
    end
end
for i=1:60
    for j=1:6
        dfz(i,j)=distc(63,i+70)+distc(i+70,j+64);%前六列表示到D1点
        dfz(i,j+6)=distc(64,i+70)+distc(i+70,j+64);%后六列表示到D2点
    end
end
min(:,1)=dfz(:,1);
for i=1:60
    road(i,2)=i;
    road(i,1)=1;
    road(i,3)=1;
    for j=1:12
        if (dfz(i,j)<min(i,1))
            min(i,1)=dfz(i,j);
            if(j<=6)
                road(i,1)=1;
            else
                road(i,1)=2;
            end
            
            road(i,3)=mod(j,6);
            if(road(i,3)==0)
                road(i,3)=6;
            end
        end
    end
end
road(:,4)=min(:,1);
count=0;
for i=1:60
    if(road(i,1)==1)
        count=count+1;
    end
end
k1=1;
k2=count+1;
for i=1:60
    if(road(i,1)==1)
        roadpaixu(k1,:)=road(i,:);
        k1=k1+1;
    else
        roadpaixu(k2,:)=road(i,:);
        k2=k2+1;
    end
end
for j=(count-1):(-1):1
    for k1=1:j
        if(roadpaixu(k1,4)>roadpaixu(k1+1,4))
            guodu=roadpaixu(k1,:);
            roadpaixu(k1,:)=roadpaixu(k1+1,:);
            roadpaixu(k1+1,:)=guodu;
        end
    end
end
for j=59:(-1):(count+1)
    for k1=count+1:j
        if(roadpaixu(k1,4)>roadpaixu(k1+1,4))
            guodu=roadpaixu(k1,:);
            roadpaixu(k1,:)=roadpaixu(k1+1,:);
            roadpaixu(k1+1,:)=guodu;
        end
    end
end
cm(1:6)=roadpaixu(1:6,2);
cm(7:12)=roadpaixu((count+1):(count+6),2);
k=0;
for i=1:60
    if(ismember(i,cm)==0)
        k=k+1;
        for j=1:6
            dfzb(k,j)=distb(63,i+70)+distb(i+70,j+64);%前六列表示到D1点
            dfzb(k,j+6)=distb(64,i+70)+distb(i+70,j+64);%后六列表示到D2点
            roadb(k,2)=i;
        end
    end
end
minb(:,1)=dfzb(:,1);
for i=1:48
    roadb(i,1)=1;
    roadb(i,3)=1;
    for j=1:12
        if (dfzb(i,j)<minb(i,1))
            minb(i,1)=dfzb(i,j);
            if(j<=6)
                roadb(i,1)=1;
            else
                roadb(i,1)=2;
            end
            
            roadb(i,3)=mod(j,6);
            if(roadb(i,3)==0)
                roadb(i,3)=6;
            end
        end
    end
end
roadb(:,4)=minb(:,1);
countb=0;
for i=1:48
    if(roadb(i,1)==1)
        countb=countb+1;
    end
end
k1=1;
k2=countb+1;
for i=1:48
    if(roadb(i,1)==1)
        roadbpaixu(k1,:)=roadb(i,:);
        k1=k1+1;
    else
        roadbpaixu(k2,:)=roadb(i,:);
        k2=k2+1;
    end
end
for j=(countb-1):(-1):1
    for k1=1:j
        if(roadbpaixu(k1,4)>roadbpaixu(k1+1,4))
            guodub=roadbpaixu(k1,:);
            roadbpaixu(k1,:)=roadbpaixu(k1+1,:);
            roadbpaixu(k1+1,:)=guodub;
        end
    end
end
for j=47:(-1):(countb+1)
    for k1=countb+1:j
        if(roadbpaixu(k1,4)>roadbpaixu(k1+1,4))
            guodub=roadbpaixu(k1,:);
            roadbpaixu(k1,:)=roadbpaixu(k1+1,:);
            roadbpaixu(k1+1,:)=guodub;
        end
    end
end
bm=cm;
bm(13:15)=roadbpaixu(1:3,2);
bm(16:18)=roadbpaixu((countb+1):(countb+3),2);
k=0;
for i=1:60
    if(ismember(i,bm)==0)
        k=k+1;
        for j=1:6
            dfza(k,j)=dista(63,i+70)+dista(i+70,j+64);%前六列表示到D1点
            dfza(k,j+6)=dista(64,i+70)+dista(i+70,j+64);%后六列表示到D2点
            roada(k,2)=i;
        end
    end
end
mina(:,1)=dfza(:,1);
for i=1:42
    roada(i,1)=1;
    roada(i,3)=1;
    for j=1:12
        if (dfza(i,j)<mina(i,1))
            mina(i,1)=dfza(i,j);
            if(j<=6)
                roada(i,1)=1;
            else
                roada(i,1)=2;
            end
            
            roada(i,3)=mod(j,6);
            if(roada(i,3)==0)
                roada(i,3)=6;
            end
        end
    end
end
roada(:,4)=mina(:,1);
counta=0;
for i=1:42
    if(roada(i,1)==1)
        counta=counta+1;
    end
end
k1=1;
k2=counta+1;
for i=1:42
    if(roada(i,1)==1)
        roadapaixu(k1,:)=roada(i,:);
        k1=k1+1;
    else
        roadapaixu(k2,:)=roada(i,:);
        k2=k2+1;
    end
end
for j=(counta-1):(-1):1
    for k1=1:j
        if(roadapaixu(k1,4)>roadapaixu(k1+1,4))
            guodua=roadapaixu(k1,:);
            roadapaixu(k1,:)=roadapaixu(k1+1,:);
            roadapaixu(k1+1,:)=guodua;
        end
    end
end
for j=41:(-1):(counta+1)
    for k1=counta+1:j
        if(roadapaixu(k1,4)>roadapaixu(k1+1,4))
            guodua=roadapaixu(k1,:);
            roadapaixu(k1,:)=roadapaixu(k1+1,:);
            roadapaixu(k1+1,:)=guodua;
        end
    end
end
for i=1:3
    step{i,1}='A';
    step{i,2}=patha(63,roadapaixu(i,2)+70);
    step{i,3}=dista(63,roadapaixu(i,2)+70);
    step{i,4}=patha(roadapaixu(i,2)+70,roadapaixu(i,3)+64);
    step{i,5}=dista(roadapaixu(i,2)+70,roadapaixu(i,3)+64);
    step{i,6}=roadapaixu(i,4);
end
for i=1:3
    step{i+3,1}='A';
    step{i+3,2}=patha(64,roadapaixu(counta+i,2)+70);
    step{i+3,3}=dista(64,roadapaixu(counta+i,2)+70);
    step{i+3,4}=patha(roadapaixu(counta+i,2)+70,roadapaixu(counta+i,3)+64);
    step{i+3,5}=dista(roadapaixu(counta+i,2)+70,roadapaixu(counta+i,3)+64);
    step{i+3,6}=roadapaixu(counta+i,4);
end
for i=1:3
    step{6+i,1}='B';
    step{6+i,2}=pathb(63,roadbpaixu(i,2)+70);
    step{6+i,3}=distb(63,roadbpaixu(i,2)+70);
    step{6+i,4}=pathb(roadbpaixu(i,2)+70,roadbpaixu(i,3)+64);
    step{6+i,5}=distb(roadbpaixu(i,2)+70,roadbpaixu(i,3)+64);
    step{6+i,6}=roadbpaixu(i,4);
end
for i=1:3
    step{i+9,1}='B';
    step{i+9,2}=pathb(64,roadbpaixu(countb+i,2)+70);
    step{i+9,3}=distb(64,roadbpaixu(countb+i,2)+70);
    step{i+9,4}=pathb(roadbpaixu(countb+i,2)+70,roadbpaixu(countb+i,3)+64);
    step{i+9,5}=distb(roadbpaixu(countb+i,2)+70,roadbpaixu(countb+i,3)+64);
    step{i+9,6}=roadbpaixu(countb+i,4);
end
for i=1:6
    step{i+12,1}='C';
    step{i+12,2}=pathc(63,roadpaixu(i,2)+70);
    step{i+12,3}=distc(63,roadpaixu(i,2)+70);
    step{i+12,4}=pathc(roadpaixu(i,2)+70,roadpaixu(i,3)+64);
    step{i+12,5}=distc(roadpaixu(i,2)+70,roadpaixu(i,3)+64);
    step{i+12,6}=roadpaixu(i,4);
end
for i=1:6
    step{i+18,1}='C';
    step{i+18,2}=pathc(64,roadpaixu(count+i,2)+70);
    step{i+18,3}=distc(64,roadpaixu(count+i,2)+70);
    step{i+18,4}=pathc(roadpaixu(count+i,2)+70,roadpaixu(count+i,3)+64);
    step{i+18,5}=distc(roadpaixu(count+i,2)+70,roadpaixu(count+i,3)+64);
    step{i+18,6}=roadpaixu(count+i,4);
end
for i=1:6
    step{i,2}=cell2mat(step{i,2});
    step{i,4}=cell2mat(step{i,4});
    r1=size(step{i,2},2);
    step{i,2}(2,1)=0;
    for j=2:r1
        step{i,2}(2,j)=dista(step{i,2}(1,1),step{i,2}(1,j));
    end
    r2=size(step{i,4},2);
    step{i,4}(2,1)=0;
    for j=2:r2
        step{i,4}(2,j)=dista(step{i,4}(1,1),step{i,4}(1,j));
    end
end
for i=7:12
    step{i,2}=cell2mat(step{i,2});
    step{i,4}=cell2mat(step{i,4});
    r1=size(step{i,2},2);
    step{i,2}(2,1)=0;
    for j=2:r1
        step{i,2}(2,j)=distb(step{i,2}(1,1),step{i,2}(1,j));
    end
    r2=size(step{i,4},2);
    step{i,4}(2,1)=0;
    for j=2:r2
        step{i,4}(2,j)=distb(step{i,4}(1,1),step{i,4}(1,j));
    end
end
for i=13:24
    step{i,2}=cell2mat(step{i,2});
    step{i,4}=cell2mat(step{i,4});
    r1=size(step{i,2},2);
    step{i,2}(2,1)=0;
    for j=2:r1
        step{i,2}(2,j)=distc(step{i,2}(1,1),step{i,2}(1,j));
    end
    r2=size(step{i,4},2);
    step{i,4}(2,1)=0;
    for j=2:r2
        step{i,4}(2,j)=distc(step{i,4}(1,1),step{i,4}(1,j));
    end
end
step=sortrows(step,3);
am=[bm,roadapaixu(1,2),roadapaixu(2,2),roadapaixu(3,2),roadapaixu(counta+1,2),roadapaixu(counta+2,2),roadapaixu(counta+3,2)];
am=sortrows(am'); %存储已经用过的发射点
am(3,1)=10;
for i=24:(-1):1
    r=size(step{i,4},2);
    for j=1:60
        if(ismember(j,am)==0)
            step{i,7}=j;
            if (step{i,1}=='A')
                step{i,8}=patha(step{i,4}(1,r),j+70);
                step{i,9}=dista(step{i,4}(1,r),j+70);
            elseif(step{i,1}=='B')
                step{i,8}=pathb(step{i,4}(1,r),j+70);
                step{i,9}=distb(step{i,4}(1,r),j+70);
            else
                step{i,8}=pathc(step{i,4}(1,r),j+70);
                step{i,9}=distc(step{i,4}(1,r),j+70);
            end
            break;
        end
    end
    for k=j+1:60
        if(ismember(k,am)==0)
            s7=k;
            if (step{i,1}=='A')
                s8=patha(step{i,4}(1,r),k+70);
                s9=dista(step{i,4}(1,r),k+70);
            elseif(step{i,1}=='B')
                s8=pathb(step{i,4}(1,r),k+70);
                s9=distb(step{i,4}(1,r),k+70);
            else
                s8=pathc(step{i,4}(1,r),k+70);
                s9=distc(step{i,4}(1,r),k+70);
            end
        end
        if(s9<step{i,9})
            step{i,7}=s7;
            step{i,8}=s8;
            step{i,9}=s9;
        end
    end
    am=[am;step{i,7}];
end
for i=1:24
    step{i,8}=cell2mat(step{i,8});
    r=size(step{i,8},2);
    step{i,8}(2,1)=0;
    if(step{i,1}=='A')
        for j=2:r
            step{i,8}(2,j)=dista(step{i,8}(1,1),step{i,8}(1,j));
        end
    elseif(step{i,1}=='B')
        for j=2:r
            step{i,8}(2,j)=distb(step{i,8}(1,1),step{i,8}(1,j));
        end
    elseif(step{i,1}=='C')
        for j=2:r
            step{i,8}(2,j)=distc(step{i,8}(1,1),step{i,8}(1,j));
        end
    end
end
shuju=zeros(24,40);
for i=1:24
    r0=size(step{i,2},2);
    r1=size(step{i,4},2);
    r2=size(step{i,8},2);
    for j=1:r0
        shuju(i,j)=step{i,2}(1,j);
    end
    for j=r0+1:r1+r0-1
        shuju(i,j)=step{i,4}(1,j-r0+1);
    end
    for j=r0+r1:r1+r2+r0-2
        shuju(i,j)=step{i,8}(1,j-r1-r0+2);
    end
end
shuju


联系:highspeedlogic

QQ :1224848052

微信:HuangL1121

邮箱:1224848052@qq.com

网站:http://www.mat7lab.com/

网站:http://www.hslogic.com/

微信扫一扫:

作者:matlab源码 来源:matlab源码
  • 您是如何找到本站的?
  • 百度搜索
  • Google搜索
  • 查阅资料过程中
  • 论坛发现
  • 百度贴吧发现
  • 朋友介绍
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
  • matlab代做|matlab专业代做|matlab淘宝代做|python人工智能代做|FPGA项目合作|C代做|C++代做(www.hslogic.com) © 2021 版权所有 All Rights Reserved.
  • Email:highspeed_logic@163.com 站长QQ: 1224848052

    专业代做/代写/承接、MATLAB、SIMULINK、FPGA项目、博士/硕士/本科毕业设计、课题设计、论文,毕业论文,Coursework、Eassy、Assignment