版权声明:转载时打个招呼。 https://blog.csdn.net/qq_15971883/article/details/82144873
1. 随意输入10个1-10之间的数字,返回数值在2-6之间(不包括2和6)的数字的位置
clear; clc;
A = uint8(10*rand(1, 10))
B = (A>2) & (A<6)
weizhi = find(B == 1)
2. 字符串倒置
S = 'Every good boy does fun';
m = size(S,2); % 列数,即字符的个数
result = S(m:-1:1)
3. 将矩阵A中的实数和复数分开为一个具有实数和复数的矩阵
clear;
clc;
% 任意输入一个矩阵,包含实数和复数
A = [2, 6.5, 2i, 0.5, 3+4i];
% 定义存储实数和复数的矩阵为空矩阵
real_array = [];
complex_array = [];
% 检测
for i = 1:length(A)
if isreal(A(i))
real_array = [real_array A(i)];
else
complex_array = [complex_array A(i)];
end
end
4. 如果读入的图像是RGB图像,则转换为灰度图像,否则不做转换
if ndims(srcImage) == 3
im_original = rgb2gray(srcImage);
else
im_original = srcImage;
end
5. 计算除去空行和注释行之外的代码行数
clear;
clc;
fid = fopen('ex.m', 'r');
count = 0;
while ~feof(fid)
line = fgetl(fid);
if isempty(line) || strncmp(line, '%', 1)
continue;
end
count = count + 1;
end
fprintf('%d lines\n', count);
6. 如何判断输入的x是不是一个向量(这里不认为标量是向量)
[a, b] = size(x);
if ~( (a==1) | (b==1) ) | ( (a==1) & (b==1) )
error('必须输入向量。')
end