MATLAB中如何将导入数据中的字母转化为数字
数据字母为‘a','b','c','d','e'利用程序转化为5,4,3,2,1。最好是MATLAB程序谢谢各位大侠...
数据字母为‘a','b','c','d','e'
利用程序转化为5,4,3,2,1。
最好是MATLAB程序
谢谢各位大侠 展开
利用程序转化为5,4,3,2,1。
最好是MATLAB程序
谢谢各位大侠 展开
5个回答
展开全部
可以使用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
展开全部
本程序是一个测试小程序,仅给你提供一个编写的思路(可以把下面的小程序改写成函数的形式,方便实际使用),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
程序:
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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’
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’
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符串-ASCII转换
输入:
102-abs('abcde')
输出:
5 4 3 2 1
输入:
102-abs('abcde')
输出:
5 4 3 2 1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询