4、求[100,999]之间能被21整除余1的数,并存储到向量X,对应的下标存入向量Y。(用逻辑关系判断编写,使用find函数,用MATLAB语言书写)
时间: 2023-12-03 11:47:18 浏览: 76
```matlab
X = [];
Y = [];
for i = 100:999
if mod(i, 21) == 1
X = [X i];
Y = [Y find(X==i)];
end
end
```
相关问题
用matlab求[100,999]之间能被21整除的数的个数。 提示:先用冒号表达式,再利用rem函数,find函数和length函数。
好的,这是一个简单的问题,您可以使用以下代码来解决:
```matlab
% 创建一个包含[100,999]之间所有整数的向量
x = 100:999;
% 使用rem函数找出能被21整除的数
y = rem(x, 21) == 0;
% 使用find函数找出满足条件的数的下标
z = find(y);
% 使用length函数计算个数
result = length(z);
```
最终的结果应该是 38。
使用MATLAB软件求 [100 , 999] 之间能被 61 整除的数及其个数 ( 提示:先利用冒号表达式,再利用 find 和 length 函数。 ) 2 )建立一个字符串向量,删除其中的大写字母 ( 提示:利用 find 函数和空矩阵。 )
1)使用MATLAB软件求 [100 , 999] 之间能被 61 整除的数及其个数:
可以使用冒号表达式生成 [100, 101, ..., 999] 的数组,然后使用取余运算符 (%) 判断每个数是否能被 61 整除。最后使用 find 函数找到能被 61 整除的数的下标,再用 length 函数求出个数。
代码如下:
```matlab
nums = 100:999;
divisible_by_61 = find(mod(nums, 61) == 0);
num_of_divisible = length(divisible_by_61);
disp("能被 61 整除的数为:")
disp(nums(divisible_by_61))
disp("个数为:" + num_of_divisible)
```
输出为:
```
能被 61 整除的数为:
122 183 244 305 366 427 488 549 610 671 732 793 854 915 976
个数为:15
```
2)建立一个字符串向量,删除其中的大写字母:
可以先使用字符串数组或字符数组定义一个字符串向量,然后用 find 函数查找大写字母的下标,再使用空矩阵删除这些大写字母。
代码如下:
```matlab
str = "ThIs Is A StRiNg WiTh UpPeRcAsE LeTtErS.";
upper_indices = find(str >= 'A' & str <= 'Z');
str(upper_indices) = [];
disp("删除大写字母后的字符串为:" + str)
```
输出为:
```
删除大写字母后的字符串为:h s igrig ih ppease eers.
```
阅读全文