matlab中的for特征

循环语句中最重要的for语句和普通的变成语言有点区别:

经典的for循环写法:没有问题但是没有充分利用matlab的特点。

%fileName:stringDo2.m
function []=stringDo2(C) siz=max(size(C)); for i=1:siz c=C(i); disp(['before chang: ', c]); if c>='A' && c<='Z' c=lower(c); elseif c>='a' && c<='z' c=upper(c); elseif c>='0' && c<='9' %c=str2double(c).^2; c=num2str(str2num(c).^2); else c=c; end disp(['after chang: ', c]); end end

充分利用matlab的数据特征的for循环,千万不要忘了,matlab中数据默认是矩阵。

%fileName:stringDo.m
function []=stringDo(C) for c=C disp(['before chang: ', c]); if c>='A' && c<='Z' c=lower(c); elseif c>='a' && c<='z' c=upper(c); elseif c>='0' && c<='9' %c=str2double(c).^2; c=num2str(str2num(c).^2); else c=c; end disp(['after chang: ', c]); end end

测试及结果:

>> C='A 2 \ a';
>> stringDo(C)
before chang: A
after chang: a
before chang:
after chang:
before chang: 2
after chang: 4
before chang:
after chang:
before chang: \
after chang: \
before chang:
after chang:
before chang: a
after chang: A
>> stringDo2(C)
before chang: A
after chang: a
before chang:
after chang:
before chang: 2
after chang: 4
before chang:
after chang:
before chang: \
after chang: \
before chang:
after chang:
before chang: a
after chang: A

很明显两个功能完全一样,但是充分利用matlab特性的for明显更有优势些。

 

posted @ 2026-06-16 19:40  叕叒双又  阅读(5)  评论(0)    收藏  举报