Matlab生成字符串矩阵

clear
clc
num=13;
fildId=fopen('temp2.txt','w');
for j=1:num
    for i=1:num
        if(i<11&&j<11)
            fprintf(fildId,'%s%s%s\t','a',num2str(j-1),num2str(i-1));
        else
            fprintf(fildId,'%s%s%s%s\t','a',num2str(j-1),'t',num2str(i-1));
        end
    end
    fprintf(fildId,'\n');
end

fclose(fildId);
fid=fopen('temp2.txt');
data0=textscan(fid,'%s');  %data0是1*1的元组->4000*1元组,调用的话只需要data0{1,1}{i,1}即可
data1=cell(0);
for i=1:num
    for j=1:num
        data1{i,j}=data0{1,1}{num*(j-1)+i,1};
    end
end
temp='';
%对角线是零
for i=1:num
    for j=1:num
        if i==j
            data1{j,i}='0';
        end
    end
    %data1{i,i}=temp;
    %temp='';
end
%对角线生成非零元素
%{
for i=1:num
    for j=1:num
        if i~=j
            temp2=strcat('-',data1{j,i});
            temp=strcat(temp,temp2);
        end
    end
    data1{i,i}=temp;
    temp='';
end
%}
%下面是写入部分
fclose(fid);
fid0=fopen('temp0.txt','w');
for i=1:num
    for j=1:num
%         a=data1{i,j};
%         a=cell2mat(a);
        fprintf(fid0,'%s\t',data1{i,j});
    end
    fprintf(fid0,'\n');
end
fclose(fid0);
% for i=1:20
%     for j=1:20
%         if i==j
%             fprintf(fildId,'%s%s%s%s\t','a',num2str(j-1),'t',num2str(i-1));
%fclose(fildId);
%data=dlmread('temp.txt',',');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值