【matlab程式碼練習19】積累的小程式碼
阿新 • • 發佈:2019-02-12
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