cuijizhe.net

MATLAB编程:大写英文字母转换成数值(0-25)两种代码

浏览数:125 

说明:按表一,把英文大写字母(AB..XYZ)置换成数字(0~25)

1 明文字母的表值

A

B

C

D

E

F

G

H

I

J

K

L

M

1

2

3

4

5

6

7

8

9

10

11

12

13

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

14

15

16

17

18

19

20

21

22

23

24

25

0


function Y=letter_num(X)

%参数说明,输入项:X由每个字母组成的字符串

%         输出项:Y由每个数字组成的行向量

%例如A B C D 对应的数字是1 2 3 4

%其调用格式为:Y=letter_num('ABCD').

n=length(X);

if rem(X,2)~=0

   X(n+1)=X(n);

   n=n+1;

end

Y=zeros(1,n);

for i=1:n

   if X(i)=='A'

      Y(i)=1;

   elseif X(i)=='B'

          Y(i)=2;

   elseif X(i)=='C'

          Y(i)=3;

   elseif X(i)=='D'

          Y(i)=4;

   elseif X(i)=='E'

          Y(i)=5;

   elseif X(i)=='F'

          Y(i)=6;

   elseif X(i)=='G'

          Y(i)=7;

   elseif X(i)=='H'

          Y(i)=8;

   elseif X(i)=='I'

          Y(i)=9;

   elseif X(i)=='J'

          Y(i)=10;

   elseif X(i)=='K'

          Y(i)=11;

   elseif X(i)=='L'

          Y(i)=12;

   elseif X(i)=='M'

          Y(i)=13;

   elseif X(i)=='N'

          Y(i)=14;

   elseif X(i)=='O'

          Y(i)=15;  

   elseif X(i)=='P'

          Y(i)=16;

   elseif X(i)=='Q'

          Y(i)=17;

   elseif X(i)=='R'

          Y(i)=18;

   elseif X(i)=='S'

          Y(i)=19;

   elseif X(i)=='T'

          Y(i)=20;

   elseif X(i)=='U'

          Y(i)=21;

   elseif X(i)=='V'

          Y(i)=22;

   elseif X(i)=='W'

          Y(i)=23;

   elseif X(i)=='X'

          Y(i)=24;

   elseif X(i)=='Y'

          Y(i)=25;

   elseif X(i)=='Z'

          Y(i)=0;

   else error('请正确输入AZ的字母')

   end

end

end


%%%%%%% 另外一种更简单的编程(信息管理专业2014级金鑫)%%%%%%%%%%%

function Y=letter_num2(X)

% BY 金鑫 2014信管

n=length(X); %字符串长度n

Y=zeros(1,n); %初始化矩阵Y,提高运算效率

for i=1:n

  Y(i)=double(X(i))-64; %对应ASSIC码表减去64,可得对应数字

  if Y(i)==26   %处理特例Z=0的情况

      Y(i)=0;

  end

end

end

常用服务购物联盟付款条例配送方式售后服务
问题咨询怎么购物在线付款易速快递退换货流程
订单查询积分查询货到付款上门自提售后服务政策
保修退换货礼品卡介绍发票说明价格保护特色服务指南
上门安装
其他支付方式


俄罗斯产品
上一页 1 2 3
...
下一页