【matlab代码练习19】积累的小代码

版权声明:转载时打个招呼。 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

猜你喜欢

转载自blog.csdn.net/qq_15971883/article/details/82144873
今日推荐