matlab的输出及写入文件的方法,以及Excel里既有文字与数字的读取方法(xlsread),load读取文本TXT

       一、matlab的输出及写入文件的方法

           当数字行列数不统一的时候,可以用importdata读取数据

format long g
s=load('G:\摄影测量影像各种数据\成灌快铁彭州支线(彭州南站-步行街站)\shiyan\controlp.txt');     %load读取TXT文本,除了                                                                                                                                                                                       textread
[l,p]=xlsread('C:\Users\ludongdong\Desktop\图片信息left.xlsx');           [a,b]=xlsread(‘ 路径.’.xlsx'),数据在a中,字符在b中
[r,t]=xlsread('C:\Users\ludongdong\Desktop\图片信息right.xlsx');
image=1070;
% pp=cell2mat(p);
% tt=cell2mat(t);
% ce1=cellstr(pp);
% ce2=cellstr(tt);
% n=length(pp(s(1,1),:));
 kk=cell(length(s),1);
for i=1:length(s) %max(s(:,1))
   k(i,1)=s(i,2)-1;
   k(i,2)=s(i,2);
   if s(i,1)<=image/2
       k(i,3)=0;
       k(i,4)=s(i,1)-1;
   else
       k(i,3)=1;
       k(i,4)=s(i,1)-image/2-1;
   end
   k(i,6)=s(i,3);
   k(i,7)=s(i,4);
  
   if s(i,1)<=image/2
      
        kk{i,1}=p{s(i,1),1};
   else
        kk{i,1}=t{s(i,1)-image/2,1};
   end
end
k2=num2cell(k);
for i=1:length(s)
 k2{i,5}=kk{i,1};
end

fp=fopen('C:\Users\ludongdong\Desktop\控制点2.txt','w');                %数字输出方法
 for i=1:length(s)
     for j=1:7
         fprintf(fp,'%4.6f\t',k(i,j));
     end
         fprintf(fp,'\r\n');
  end
 fclose(fp);
 

 fpp=fopen('C:\Users\ludongdong\Desktop\控制点3.txt','w');             %字符串输出方法
 fwrite(fpp,'','integer*4');
 for i=1:length(s)
     for j=1:1
         fprintf(fpp,'%s
,',kk{i,j});                %黑色的逗号是添加的,让文字的后面出现逗号
     end
         fprintf(fpp,'\r\n');
  end
 fclose(fpp);

安利博客,关于matlab输出文件的方法:

 

https://zhidao.baidu.com/question/1111896529057986699.html?word=MATLAB%E5%A6%82%E4%BD%95%E8%AF%BB%E5%8F%96%E6%97%A2%E6%9C%89%E6%95%B0%E5%AD%97%E4%B9%9F%E6%9C%89%E6%96%87%E5%AD%97%E7%9A%84&ms=1&rid=10831879656367315608

 

你可能感兴趣的:(matlab的输出及写入文件的方法,以及Excel里既有文字与数字的读取方法(xlsread),load读取文本TXT)