for循环的一些困惑解决(字符串)
对于单纯的遍历一个行向量,只需用for循环从开始到结束遍历
for i = 1 : 2 % ':' 代表从从1 到 10
i
end
输出:
i =
1
i =
2
修改:
如:
for i = 1 : 2 : 10
i
end
(该循环可以直接输出奇数,共有3个数字,第一个数字代表从1开始遍历,第二个数字代表每隔几项加一次,第三个数字表示遍历的结束位置)
输出:
i =
1
i =
3
i =
5
i =
7
i =
9
对于一个已知字符串,想要输出他的逆序字符串:如果用for循环又该如何解决?????
如果要输出一个字符串的逆序,肯定是从后往前遍历:
那么,我们很容易想到这么写:
for i = length(s) : 1 %这样显然是错的,因为他没有往前走
i
end
正确的写法:
for i = length(s) : -1 : 1 %此时输出的i是一个下标
i
end
-----------------------------------------------------------------------------------------------------------------------------
for i = length(s) : -1 : 1 %逆序输出每一个字符
s(i);
end
-------------------------------------------------------------------------------------------------------------------------------
for i = length(s) : -1 : 1 %将字符串s逆序存在另一个字符串中,下标从1开始
cun(length(i) + 1 + i) = s(i);
end
字符串中的一些命令:
abs(s); %返回一个向量,其值是字符串元素中的ASCII值
char(s); %转换字符,相当于c或c++中的强制转化
strcmp(str1, str2); %两个字符串进行比较
stricmp(str1, str2); %比较时不区分大小写
strcat(str1, str2); %将两个字符串连接起来
disp(A); %显示输入的内容
inline(); %可以形成内联函数
例如:表示表达式 3sin(x) + 5cos(y);
可以用inline()来表示
g = inline('3 * sin(x) + 5 * cos(y)', 'x', 'y' );
输出:
g =
内联函数:
g(x,y) = 3 * sin(x) + 5 * cos(y)
求当x = π, y = 2π时,表达式的值
g(pi, 2 * pi);
输出:
ans =
5
eval(); 来调用保存在文件中的信息。。。。。。。待加
总结
以上是生活随笔为你收集整理的for循环的一些困惑解决(字符串)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 建立随机矩阵,及生成新矩阵
- 下一篇: 其他数据类型的一些操作