24小时热门版块排行榜    

查看: 480  |  回复: 0

xingxueci

金虫 (小有名气)

[求助] 关于MATlAB

程序如下:
clear all;
clc;
%data = xlsread('E:\nengneng\book1');
%xlsread('E:\nengneng\book1.xls');
Data=load('C:\Users\xing\Desktop\judy\x2.mat')
%  Data(:,1)
%  Data(1:10,1)
% data(:,1)
X=Data.x2(:,1);
X_number =size(X)
Y=Data.x2(:,2);
% Z=Data.x2(:,3);

for j=1:41
    for i=1:271
        Z_Z(i,j)=Z((j-1)*271+i);
        Z_X(i,j)=X((j-1)*271+i);
        Z_Y(i,j)=Y((j-1)*271+i);
    end
end
% Z_Z
% Z_X
% Z_Y
%划定区域
%Area1~5
Area1=1;
Area2=1;
Area3=1;
Area4=1;
Area5=1;
for j=1:41
    for i=1:271
        if Z_X(i,j)<330&&Z_Y(i,j)<250&&Z_X(i,j)>280&&Z_Y(i,j)>200
            Area1_point(Area1,=[i,j];
            Area1=Area1+1;
        end
         if Z_X(i,j)>330&&Z_X(i,j)<380&&Z_Y(i,j)<250&&Z_Y(i,j)>200
            Area2_point(Area2,=[i,j];
            Area2=Area2+1;
         end   
        
         if Z_X(i,j)>380&&Z_X(i,j)<550&&Z_Y(i,j)<250&&Z_Y(i,j)>200&&0.56666*Z_X(i,j)-26.666<Z_Y(i,j)
            Area3_point(Area3,=[i,j];
            Area3=Area3+1;
         end   

         if Z_X(i,j)>280&&Z_X(i,j)<380&&Z_Y(i,j)>250&&Z_X(i,j)-15>Z_Y(i,j)
            Area4_point(Area4,=[i,j];
            Area4=Area4+1;
         end  

         if Z_X(i,j)>380&&Z_X(i,j)<550&&Z_Y(i,j)>250&&Z_Y(i,j)<400&&0.56666*Z_X(i,j)-26.666<Z_Y(i,j)&&Z_X(i,j)-15>Z_Y(i,j)
            Area5_point(Area5,=[i,j];
            Area5=Area5+1;
         end  
    end
end
% Area1_point
% Area2_point
% Area3_point
% Area4_point
% Area5_point
%计算面积
px1=size(Area1_point);
px2=size(Area2_point);
px3=size(Area3_point);
px4=size(Area4_point);
px5=size(Area5_point);
px1+px2+px3+px4+px5
AREA1=0;
AREA2=0;
AREA3=0;
AREA4=0;
AREA5=0;
Circle1=0;
Circle2=0;
Circle3=0;
Circle4=0;
Circle5=0;
for i=1:px1
    I=Area1_point(i,1);
    J=Area1_point(i,2);
    Circle1=Circle1+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1));
    AREA1=AREA1+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1))*Z_Z(I,J);
end
for i=1:px2
    I=Area2_point(i,1);
    J=Area2_point(i,2);
    Circle2=Circle2+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1));
    AREA2=AREA2+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1))*Z_Z(I,J);
end
for i=1:px3
    I=Area3_point(i,1);
    J=Area3_point(i,2);
    Circle3=Circle3+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1));
    AREA3=AREA3+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1))*Z_Z(I,J);
end
for i=1:px4
    I=Area4_point(i,1);
    J=Area4_point(i,2);
    Circle4=Circle4+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1));
    AREA4=AREA4+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1))*Z_Z(I,J);
end
for i=1:px5
    I=Area5_point(i,1);
    J=Area5_point(i,2);
    Circle5=Circle5+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1));
    AREA5=AREA5+0.25*(Z_X(I+1,J)-Z_X(I-1,J))*(Z_Y(I,J+1)-Z_Y(I,J-1))*Z_Z(I,J);
end
%Circle1
Circle2
Circle3
Circle4
Circle5
px1
px2
px3
px4
px5
AREA1
AREA2
AREA3
AREA4
AREA5
% [AREA1 AREA2 AREA3 AREA4 AREA5]



% N=100;
% x0=linspace(min(x),max(x),N);
% y0=linspace(min(y),max(y),N);
% [X,Y,Z]=griddata(x,y,z,x0',y0,'v4');%插值拟合曲面。当然,由于你没有说明xy平面上的条件,所以这里拟合的曲面Z=f(X,Y)定义在x0,和y0的矩形区间内;
% figure;mesh(X,Y,Z);
% Z
% %体积的近似值用下代码
% L=sum(sum(abs(Z)));
% S=abs((y0(2)-y0(1))*(x0(2)-x0(1)));
% V=L*S;    %体积
最后运行显示
Data =

    data: [12195x3 double]

??? Reference to non-existent field 'x2'.
求指教
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xingxueci 的主题更新
信息提示
请填处理意见