MATLAB中如何将导入数据中的字母转化为数字

数据字母为‘a','b','c','d','e'利用程序转化为5,4,3,2,1。最好是MATLAB程序谢谢各位大侠... 数据字母为‘a','b','c','d','e'
利用程序转化为5,4,3,2,1。
最好是MATLAB程序
谢谢各位大侠
展开
 我来答
du瓶邪
推荐于2017-09-13 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2630万
展开全部

可以使用fscanf或者sscanf的方式读取,
思路为:定义cell矩阵,先全部以字符的方式读入,再将其中的数字转换为数据格式。
代码如下:

m=8;n=3;
data=cell(m,n);%定义cell矩阵,存储文件内容
fid=fopen('test.txt','r');%以只读方式打开文件
for i=1:m
   for j=1:n
       data{i,j}=fscanf(fid,'%s',[1,1]);%以字符方式读取每个值,遇空格完成每个值的读取
   end
end
fclose (fid);
for i=1:m
   for j=2:n
       data{i,j}=str2double(data{i,j});%将文本格式转为数字格式
   end
end
str=cell(m,1);用于存储data的第一列
for i=1:m
   str{i}=data{i,1};
end
trayshleigh
2010-07-10 · TA获得超过167个赞
知道答主
回答量:19
采纳率:0%
帮助的人:33.2万
展开全部
本程序是一个测试小程序,仅给你提供一个编写的思路(可以把下面的小程序改写成函数的形式,方便实际使用),num2是你想要的结果。

程序:
clc
clear all %清楚所有数据
str1 = 'abcde' %测试数据
num = str1+0 %字母转换成数字
num2 = 102-num %数字调整

运行结果:
str1 =

abcde

num =

97 98 99 100 101

num2 =

5 4 3 2 1
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
求雅韵Fv
2010-07-22 · TA获得超过411个赞
知道小有建树答主
回答量:135
采纳率:100%
帮助的人:204万
展开全部
ss=input('please input sevaral char:\n');
ss_out=[];
for j=1:length(ss)
switch ss(j)
case 'a'
ss_out=[ss_out,5];
case 'b'
ss_out=[ss_out,4];
case 'c'
ss_out=[ss_out,3];
otherwise
continue;
end
end
% ss_out
fprintf('%d\n',ss_out);

输入方式:‘abcsssssbab’
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
emmmm4d6f2
2010-07-10
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
字符串-ASCII转换
输入:
102-abs('abcde')
输出:
5 4 3 2 1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晴雨潋滟
2010-07-10
知道答主
回答量:21
采纳率:0%
帮助的人:17.3万
展开全部
str2num
这个函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式