作业帮 > 综合 > 作业

一道matlab的题目!

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/15 18:17:34
一道matlab的题目!
1. 编写一个程序,读取一句英语短语,并将其编制成莫尔斯码,再用一个程序将莫尔斯码变成英语.
莫尔斯码是世界上最著名的编码机制,是1832年由Samuel Morse创立的,用于电报系统使用.莫尔斯码编码规则如下:①字母、数字和一些特殊符号(如圆点、逗号、分号)用一系列指定的点和线表示;②单词之间用三个空格分开,没有点和线;③编码字母之间用一个空格.
字符/数字 代码 字符/数字 代码 字符/数字 代码
A .- M ―― Y -.――
B -... N -. Z ――..
C -.-. O ――― 1 .――――
D -.. P .――. 2 ..―――
E . Q ――.- 3 ...――
F ..-. R .-. 4 ....-
G ――. S ... 5 .....
H .... T - 6 -....
I .. U ..- 7 ――...
J .――― V ...- 8 ―――..
K -.- W .―― 9 ――――.
L .-.. X -..- 0 ―――――
用法:
morsecode=morse('matlabsky baidu wacs5',0) %编码
srccode=morse(morsecode,1) %解码
morsecode(2)='.'; %修改码
srccode=morse(morsecode,1) %错误的morse码进行解码
function Dst=morse(Src,Flag)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%Author :wacs5
%%Date :20101031
%%Function :morse(莫斯密码)编码和解码
%%Argument :Src为待编码/解码的字符串
%% :Flag=0为编码,Flag=1为解码
%%Return :Dst为完成的编码/解码的字符串
%%Called Mtb :disp,find,isempty,isequal,length,nargin,strrep,warning
%%Example:
%% :morsecode=morse('matlabsky baidu wacs5',0)
%% :srccode=morse(morsecode,1)
%% :morsecode(2)='.'; srccode=morse(morsecode,1) %错误的morse码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if nargin==1
Flag=0; %缺省为编码
end
Dst=[];
SrcAlpha=['A':'Z','1':'9','0']; %原始字母
EncAlpha={'.-','-...','-.-.','-..','.','..-.','――.','.','..','.―――','-.-','.-..','――','-.','―――','.――.','――.-','.-.','...','-','..-','...-','.――','-..-','-.――','――..','.――――','..―――','...――','.-','.','-.','――...','―――..','――――.','―――――'}; %相应的morse码
if Flag==0
disp('Encoding'); %编码
for i=1:length(Src)
if Src(i)>='a' && Src(i)