Matlab 数字和字符的合并转换

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字和字符的合并转换for i=1:5

d=num2str(i);

c=strcat('a',d);

e=eval(c);

b(:,i)=e(:,1);

end

目的是生成文件名a1 a2 a3 a4

d=num2str(i); 先把数字 1 2 3 4转换成字符

c=strcat('a',d); 再把数字和字母a结合起来生成文件名e=eval(c); 再把这个字符转换成可移执行的命令行

如果要把一组数存到另外一组矩阵里,例如

a=[1 2 3

4 5 6

7 8 9]

现在要把这三行数据分别存进3个矩阵,b1,b2,b3

命令如下

eval(strcat( 'b',num2str(i),'=a(i,;);'))

eval里面的东西就等于是直接在命令窗口里面输入的东西

提取rstx文件里面的数据

clear all

num=0;

fidin=fopen('G2000.rstx'); %

fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件

while ~feof(fidin) % 判断是否为文件末尾

tline=fgetl(fidin); % 从文件读行

[a,b]=size(tline) ;% 确定指针指到的这一行的维数大小

b

if b>8

if double(tline(3))>=48&&double(tline(3))<=57 % 判断首字符是否是数值

fprintf('%%%%%%%%%%%%%%%%%%%%%%%%%%\ n')

num=num+1;

fprintf('********\n');

fprintf(fidout,'%s\n',tline) % 如果是数字行,把此行数据写入文件MKMATLAB.txt

% a(num,:)=tline

x=fidout;

else

end

end

continue % 如果是非数字继续下一次循环

end

fclose(fidout);

MK=textread('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来

自动读取大批量的数据

clear all

close all

pw=2;

pv=100;

for i=1:1

clear a b c d e f g MK

c1=num2str(i-1);

c2=num2str(pw);

c3=num2str(pv);

c4=strcat('LH_bdn_hd',c1,'_pw',c2,'_G',c3,'.rstx'); % 生成文件名,纯字符

filename=(c4); % 转换成真正的文件名

num=0;

fidin=fopen(filename); 直接读文件,不要加单引号!!!!

相关文档
最新文档