广师电信MATLAB作业记录——实验1作业

话不多说,直接进入正题,代码包含了注释了已经。

题目标号蕴含在注释里面了。书籍为MATLAB程序设计与应用(第3版),刘卫国主编的。

因为只是包含了我们老师布置的作业题,有需其他题目的课联系我

%-----  第 3 题  -----%
% ***** (1) ***** %
z1 = (2 * sin(85 / 360 * 2 * pi)) / (1 + exp(2));

% ***** (2) ***** %
z2 = pi / (12 + 0.00001); % 10^-5 不等于 0.00001

% ***** (3) ***** %
x = [2, 1 + 2i; -0.45, 5];
z3 = 0.5 * log(x + (1 + x^2)^0.5);

% ***** (4) ***** %
a = []; % 创建一个空矩阵做列向量
b = -3.1; % 元素变动值
c = 0.1; % 每次被减去的固定值

% 使用循环追加元素
for i = 1:1000 % 这个随便写,保证可以包括-3到3,算一下也可以知道是61即可
    b = b + c; % 得到每一个被插入的元素
    a = [a; b];
    if b >= 3.0 % 加完3.0就结束了
        break;
    end
end

a(31, 1) = 0; % 手动矫正,因为你会发现该项不等于0,是接近零的小数
z4 = 0.5 .* (exp(0.3.*a) - exp(-0.3.*a)) .* sin(a + 0.3) + log(0.5 .* (0.3 + a));
% -----  第 5 题  ----- %
% 构建矩阵 A
A = zeros(5, 5); % 初始化
a = 0; % 用于赋值给元素
% 循环得到矩阵 A
for i = 1:5
    for j = 1:5
        a = a + 1; % 每次自增 1 用于赋值
        A(i, j) = a; % 依次进行赋值
    end
end

% 构建矩阵 B
B = [3, 0, 16; 17, -6, 9; 0, 23, -4; 9, 7, 0; 4, 13, 11];

% ***** (1) ***** %
C = A * B;

% ***** (2) ***** %
D = C(3:5, 2:3);

% ***** (3) ***** %
whos; % 用于列出当前MATLAB工作空间中所有变量的信息
workspace; % 打开工作空间
% -----  第 6 题  ----- %
% ***** (1) ***** %
% 简易版
divisible_by_21 = 105:21:999; % 使用冒号表达式获取[100, 999]之间能被21整除的数,从105开始
count1 = length(divisible_by_21); % 使用length函数获取满足条件的数的个数
disp(['简易版:[100, 999]之间能被21整除的数的个数是:' num2str(count1)]); % 显示结果

% 符合题目提示版,使用了【冒号表达式、find、length】
% 使用冒号表达式创建包含[100, 999]之间所有整数的向量
numbers = 100:999;
% 使用find函数找到能被21整除的数的索引
indices = find(mod(numbers, 21) == 0);
% 使用length函数获取满足条件的数的个数
count2 = length(indices);
% 显示结果
disp(['符合题目提示版:[100, 999]之间能被21整除的数的个数是:' num2str(count2)]);

% ***** (2) ***** %
% 创建一个包含大写和小写字母的字符串向量
inputString = 'Hello World! My Name is 666。';
% 使用find函数查找大写字母的索引
uppercaseIndices = find(isstrprop(inputString, 'upper'));
% 删除大写字母
inputString(uppercaseIndices) = []; % 可以使用[]、''、""等来赋空
% 显示删除大写字母后的字符串
disp(['删除大写字母后的字符串' inputString]);

觉得答案还不错的话,好好学习,点赞支持~~~

你可能感兴趣的:(广师电信MATLAB作业记录,matlab,开发语言,算法,学习)