10道MATLAB练习题

1.将数值a= 1/3以短格式、长格式、金融格式、有理数格式四种显示格式输出。

2.文字说明MATLAB中变量的命名规则,并判断变量A1和a1是否代表同一变量。

(1)变量名必须以字母开头,可以包含字母、数字和下划线,但不能包含空格和其他特殊字符。

(2)变量名长度不能超过63个字符。

(3)MATLAB是区分大小写的,所以大小写字母视为不同的字符。

(4)不能使用MATLAB保留关键字作为变量名。

根据上述命名规则,变量A1和a1不代表同一变量,因为它们的第一个字母大小写不同。在MATLAB中,大小写字母被视为不同的字符,因此a1和A1是两个不同的变量名称。

3.输入矩阵a = [1 2 3;4 5 6;7 8 9] ,进行如下操作:(1)使用全下标方式取出元素“3 ”;(2)使用单下标方式取出元素“8 ”;(3)取出后两行子矩阵块。

4.将矩阵a=[1 2 3;4 5 6;7 8 9] 用flipud、fliplr、rot90、diag、triu和tril函数进行操作。

5.计算函数ft= 10e2t-sin(4t) 的值;其中t 的范围从0 ~ 20  ,步长取0.2 ,绘制ft 图形。

6.两个多项式:ax=5x4+4x3+3x2+2x+1b(x) = 3x2+1 ,计算cx= ax×b(x) ,并计算c(x) 的根。当x=2 时,计算c(x) 的值。

7.在同一图形窗口绘制曲线y1=sintt 的范围为0∼2π ,y2=sin(2t)  ,t 的范围为π∼4π 。要求y1曲线为黑色点画线,y2曲线为红色虚线圆圈,并将文字标注“y1=sin(t)”和“y2=sin(2t)”分别添加到两条曲线上。

8. 已知z =x2+y2  。在 x∈[-5,5]y∈[-5,5] 范围,将图形窗口分割上下排列的两个子图,绘制函数三维网格图和网面图。

9.利用积分函数integral,integral2,integral3分别实现以下数值积分:04e-t2dt 02-22x expx2+y2dxdy0π01-11(ysint+zcost)dtdydz

10.编写M脚本文件,使用while循环语句计算sum=i=110ii ,利用break命令,将程序在sum>1000 时终止,并显示当时sum值和i值。

### MATLAB 练习题示例 以下是几个常见的 MATLAB 练习题及其对应的代码实现: #### 1. 寻找所有的水仙花数 水仙花数是一个三位数,其各个位上的数字立方之和等于该数本身。 ```matlab % 初始化变量 narcissisticNumbers = []; for i = 100:999 % 遍历所有三位数 hundreds = floor(i / 100); % 百位 tens = floor(mod(i, 100) / 10); % 十位 units = mod(i, 10); % 个位 if (hundreds^3 + tens^3 + units^3 == i) % 判断是否满足条件 narcissisticNumbers = [narcissisticNumbers, i]; end end disp('所有的水仙花数:'); disp(narcissisticNumbers); ``` 这段代码通过遍历所有三位数并计算每一位的立方和来找出符合条件的水仙花数[^1]。 --- #### 2. 使用 `find` 函数查找矩阵中大于某个阈值的元素位置 给定一个矩阵,找到其中所有大于指定数值的位置索引。 ```matlab A = [1, 5, 8; 7, 2, 6; 3, 9, 4]; % 输入矩阵 threshold = 5; % 设定阈值 indices = find(A > threshold); % 查找大于阈值的元素位置 [row, col] = ind2sub(size(A), indices); disp('大于阈值的元素位置:'); disp([row, col]); ``` 此代码展示了如何利用 `find` 和 `ind2sub` 函数获取矩阵中特定条件下的元素坐标[^2]。 --- #### 3. 子矩阵的操作——提取、赋值与删除 创建一个矩阵,并演示如何对其进行子矩阵的提取、重新赋值以及部分删除操作。 ```matlab B = magic(4); % 创建一个 4×4 的魔方矩阵 C = B(1:2, 3:4); % 提取左上角的一个子矩阵 D = zeros(2, 2); % 新定义一个小矩阵 D B(1:2, 3:4) = D; % 将原矩阵对应区域替换为新矩阵 D E = B(:, 2); % 删除第二列数据 B(:, 2) = []; % 实际执行删除操作 disp('修改后的矩阵:'); disp(B); ``` 上述代码说明了如何对矩阵进行切片访问、更新以及移除某些行或列的操作方法。 --- #### 4. 编写自定义函数 `fun` 按照需求编写一个简单的函数,接受输入参数并返回相应的结果。 ```matlab function result = fun(x) % 计算平方加一的结果 result = x.^2 + 1; end testValues = [-2, -1, 0, 1, 2]; % 测试向量 outputResults = arrayfun(@fun, testValues); disp('测试值及其对应输出:'); disp([testValues', outputResults']); ``` 这里展示了一个基本的用户定义函数的例子,它接收数组作为输入并对每个元素应用相同的逻辑运算。 --- #### 5. Cody 平台上的经典目实践 可以尝试登录 MathWorks 官方提供的在线解平台 **Cody** 进一步提升技能水平。例如完成一些基础挑战如 “Times 2”,即让给出的数据乘以二;或者更复杂的任务像字符串匹配等[^3]。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值