⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 q3.m

📁 高速公路路面质量改进方案 采用matlab编程 达到了稳定点
💻 M
字号:
function Q3
[N M G]=data2
%将开头的0,转还成100

Mlen = length(M);
for i=1:Mlen
    if(sum(M(i,:))==0)
        continue;
    end
    mark=0;
    for j=1:13
       if(M(i,j)==0)
           if(mark==0)
               M(i,j)=100;
           end
       else
           mark=1;
       end
    end
end

%插值法
[m n]=size(M);
for k=1:m
    if(sum(M(k,:))==0)%全部为0行,不处理
        continue;
    else
        full=0;%标记是否到达100%
        for j=1:n
            if(M(k,n-j+1)==0 & full==0)
                if(n-j~=n-1 & n-j~=0)%不是首尾的
                    if(M(k,n-j)==0)%两个连续的0
                        M(k,n-j+1)= M(k,n-j+2)
                    else
                            M(k,n-j+1)=(M(k,n-j+2)+M(k,n-j))/2;
                    end
                end
            else
                if(M(k,n-j+1)==100)
                    full=1;
                end
            end
        end
    end
end


%计算每一个部分的百分比
for i=1:n-1
    M(:,i)=M(:,i)-M(:,i+1);
end
clc;

%计算平均直径
D=M*N'/100;
%计算方差
for i=1:Mlen
    mean=(N-D(i)*ones(1,n)).*M(i,:)/100;%%wrong
    A(i)=dot(mean,mean);
    
    %A(i)=(M(i,:)-D(i)*ones(1,n))'*(M(i,:)-D(i)*ones(1,n));
end
A = A';


%根据Gmm挑出数据完全的组合
[m n]=size(G);
Glen=0;
for i =1:m
    if(G(i,1)~=0 & G(i,2)~=0)
        Glen=Glen+1;
        R(Glen,:)=[M(i,:) D(i) A(i) G(i,:)];
    end
end
%plot(N,R(:,1:13));  
%clear
x = min(N):0.02:max(N);
m=length(R);
for i=1:m
    draw(i,:)=interp1(N,R(i,1:13),x,'cubic'); 
end
%y=interp1(N,R(1,1:13),x,'cubic');    
plot(x,draw);
clc; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -