使用matlab导入向导

时间:2014-09-26 10:30:00

标签: database matlab import

我制作了这个data.txt文件,并使用导入向导将其导入matlab。 这是结果:

Data Base

这个表是我的数据库,我想逐列搜索(每个变量)。我使用strread,因为这可以让我搜索列,例如: var1=strread(VarName12(1,1),'%d',"delimiter','|') 我在脚本中使用strread编写了几行代码,然后运行它。当我检查工作空间var1和包含strread结果的其他变量都缺失并在命令窗口中输入它时给我这个:Undefined function or variable 'End'.我在命令窗口中输入了sttread并在data.txt中使用了变量并获得了结果但它没有我运行脚本时工作。我无法理解这是什么问题? (我正在使用matlab R2013a并且有警告说:使用strread不是推荐。使用TEXTSCAN代替。我不能对文本扫描执行相同操作也可以在工作空间中写入时正常工作)。我不知道是什么问题。能给出线索吗?

编辑: 这是代码 (注意:我正在写一个“基于耳朵的生物识别系统”,数据库是从图像1到5中提取的数据)。这是代码的分类部分:

Nbcoordinates = vertcat(BEcell{:,1});
Necoordinates = vertcat(BEcell{:,2});

import DATA.txt.*; %     import our data set


for i=1:5

    token1 = 0; token2 = 0; token3 = 0; token4 = 0; token5 = 0; token6 = 0; token7 = 0;

    if(VarName1(i, 1) == V{1,1}(1,2) && VarName3(i, 1) == V{1,2}(1,2) &&   VarName5(i,1)     == V{1,3}(1,2) && VarName2(i,1) == V{1,1}(1,3) && VarName4(i,1)  ==   V{1,2}(1,3) && VarName6(i,1) == V{1,3}(1,3))



        %   Check number of endings for each component
        numberofendings =  strread(VarName10{i,1}, '%d', 'delimiter', '|');

        for j=1:size(Ne,1)

            if(numberofendings(j,1)~=Ne(j,1))
                    break;
            end
        end  
            if(j >= size(Ne,1))
                token1 = 1;                
            end


        % check number of bifurcations for each components
         numberofbifurcations =  strread(VarName11{i,1}, '%d', 'delimiter', '|');

        for j=1:size(Nb,1)

            if(numberofbifurcations(j,1) ~= Nb(j,1))
                    break;
            end

        end

            if(j >= Nb)
               token2  = 1;                
            end



        %   Check Intersections1,2,3  Cordinates
        Intercoordinate1 =  strread(VarName7{i,1}, '%f', 'delimiter', '|');
        m = 1;
        for j=1:NI1

            if((Intersection1(j, 1) ~= Intercoordinate1(m,1)) || (Intersection1(j, 2) ~= Intercoordinate1(m+1,1)))
                break;
            end
            m = m + 2;
        end
        if(j >= NI1)
            token3 = 1;                
        end



        Intercoordinate2 =  strread(VarName8{i,1}, '%f', 'delimiter', '|');
        m = 1;
        for j=1:NI2

            if((Intersection2(j, 1) ~= Intercoordinate2(m,1)) || (Intersection2(j, 2) ~= Intercoordinate2(m+1,1)))
                break;
            end
            m = m + 2;

        end
        if(j >= NI2)
            token4 = 1;                
        end






        Intercoordinate3 =  strread(VarName9{i,1}, '%s', 'delimiter', '|');
        m = 1;
        for j=1:NI3

            bi1 = cell2mat(Intercoordinate3(m, 1));
            bi2 = cell2mat(Intercoordinate3(m + 1, 1));
            if((Intersection3(j, 1) ~= str2num(bi2)) || (Intersection3(j, 2) ~= str2num(bi2)))
                break;
            end
            m = m + 2;
        end
        if(j >= NI3)
            token5 = 1;                
        end


         % Check endings coordinate of each component

        Endcoor =  strread(VarName12{i,1}, '%d', 'delimiter', '|');
        m = 1;
        for j=1:sum(Ne)
            en1 = Endcoor(m, 1);
            en2 = Endcoor(m + 1, 1);
            if((Necoordinates(j, 1) ~= en1) || (Necoordinates(j, 2) ~= en2))
                break;
            end
            m = m + 2;
        end
        if(j >= sum(Ne))
            token6 = 1;                
        end




        % check bifurcation coordinates of each component

        Bifcoor =  strread(VarName13{i,1}, '%d', 'delimiter', '|');
        m = 1;
        for j=1:sum(Nb)
            en1 = Bifcoor(m, 1);
            en2 = Bifcoor(m + 1, 1);
            if((Nbcoordinates(j, 1) ~= en1) || (Nbcoordinates(j, 2) ~= en2))
                break;
            end
            m = m + 2;
        end
        if(j >= sum(Nb))
            token7 = 1;                
        end





        if(token1 ==1 && token2 == 1 && token3== 1 && token4 == 1 && token5 == 1 && token6== 1 && token7==1 )
            disp(['This image is a member of Class ',num2str(i)]);
            break;
        end

    end


end


if(token1 == 0 || token2 == 0 || token3 == 0 || token4 == 0 || token5 == 0 || token6== 0 || token7==0)
    disp('Doesn;t exist in the data base ');
 end


 end

0 个答案:

没有答案