当前位置:网站首页>matlab 综合练习解答(基础)
matlab 综合练习解答(基础)
2022-08-08 21:10:00 【Bitter tea seeds】
文章前言
本文章适用于刚刚开始学习matlab的人进行练习解惑。
之后我会专门出一个专栏进行matlab的基础讲解。
matlab是专为科学和工程计算设计的高级交互式应用软件,适用于工程应用各领域的分析设计与复杂计算。
其使用环境集数值分析、矩阵运算、信号处理和图形显示于一体,是一个可以完成各种计算和数据处理的可视化、易于使用和理解的工具。
因其可信度高、灵活性好,因而在世界范围内被科学工作者、工程师和大中学生广泛使用。
在大学中,学会matlab也是一个加分项,可以凭借好的编程技术去参加全国数学建模大赛,对找工作也有好处。
最好有一些C语言编程基础,高等数学的基础。
介绍
接下来都是一些习题的解答,可以有一个参考借鉴的价值,希望对你们有帮助吧!
第一题:矩阵向量运算
向量x=[1 2 3],y=[4 5 6],编程求x.*y,x./y,x.\y, x.^ 3, 2 ^ [x,y], x.^y的结果.
解:如下方代码所示
>> x=[1 2 3];y=[4 5 6];%先设置矩阵
>>Q=x.*y,W=x./y,E=x.\y,R=x.^3,T=x.^y,Y=2.^[x,y]%进行矩阵运算
>>ans=
>Q =
4 10 18
W =
1/4 2/5 1/2
E =
4 5/2 2
R =
1 8 27
T =
1 32 729
Y =
1 至 5 列
2 4 8 16 32
6 列
64
第二题:方程组运算
求方程组
x1+x2-3x3-x4=1;
3x1-x2-3x3+4x4=4;
x1+5x2-9x3-8x4=0;的通解。
解:如下代码所示
>> A=[1 1 -3 -1;3 -1 -3 4;1 5 -9 -8];
>> b=[1 4 0]';%取逆
>> B =[A b];
>> n=4;%方程中的未知数个数
>> rA=rank(A)%求秩
rA =
2
>> rB=rank(B)
rB =
2
>> format rat%取有理数形式
>> if rA==rB&rA==n
X=A\b
else if rA==rB&rA<n
X0=A\b%方程的通解
Z=null(A,'r')%求方程的基础解系
else X='无解'
end
第三题:单元数组与结构数组
现给出2020级学生机械班第一学期考试课程和学生信息,图下表所示
表1 2020级机械班学生信息
|学号(number) | 姓名(name) |学习课程(course)| 成绩(score)
|20200103001 |赵凯| 高等数学、大学英语、计算机基础、机械制图|86 80 92 79|
|20200103002 | 王菲 |高等数学、大学英语、计算机基础、机械制图|78 85 90 82|
|20200103003|刘洋|高等数学、大学英语、计算机基础、机械制图|88 80 95 90|
表2 2020级机械班任课教师信息
|姓名(name)|孙天宇、刘梅芳、王海涛、杨一帆|
|开设课程(course)|高等数学、大学英语、计算机基础 、机械制图|
求:
1. 建立任课教师和学生的结构数组teacher和student。
2. 以建立的结构数组teacher和student为基础,创建班级的细胞数组,并显示教师和学生的信息。
3. 查询第一个学生的姓名、学习课程、成绩。
4. 查询所有开课教师的姓名。
解:如下方代码所示
>> student(1).number='20110103001';
student(1).name='赵凯';
student(1).couse={'高等数学','大学英语','计算机基础','机械制图'};
student(1).score='86 80 92 79';
student(2).number='20110103002';
student(2).name='王菲';
student(2).couse={'高等数学' '大学英语' '计算机基础' '机械制图'};
student(2).score='78 85 90 82';
student(3).number='20110103003';
student(3).name='刘洋';
student(3).couse={'高等数学' '大学英语' '计算机基础' '机械制图'};
student(3).score='88 80 95 90';
student
student =
包含以下字段的 1×3 struct 数组:
number
name
couse
score
>> teacher=struct('name',{'孙天宇','刘美芳','王海涛','杨一凡'},'course',{'高等数学' '大学英语' '计算机基础' '机械制图'})
teacher =
包含以下字段的 1×4 struct 数组:
name
course
>> class=cell(1,2);
class{1,1}=student;
class{1,2}=teacher;
celldisp(class)
class{1} =
包含以下字段的 1×3 struct 数组:
number
name
couse
score
class{2} =
包含以下字段的 1×4 struct 数组:
name
course
>> class{1}(1)
ans =
包含以下字段的 struct:
number: '20110103001'
name: '赵凯'
couse: {'高等数学' '大学英语' '计算机基础' '机械制图'}
score: '86 80 92 79'
>> class{2}(1)
ans =
包含以下字段的 struct:
name: '孙天宇'
course: '高等数学'
>> class{2}.name
ans =
'孙天宇'
ans =
'刘美芳'
ans =
'王海涛'
ans =
'杨一凡'
第四题:“符号导数"和"符号积分”,编程求下列算式。
1.求极限

解:如下方代码所示
>> syms x;
>> L=limit(x*(sqrt(x^2+1)-x),x,inf)
L =
1/2
2. 已知参数方程,求dy/dx。

解:如下方代码所示
>> syms a b t;
>> x=a*(cos(t))^3;
>> y=b*(sin(t))^3;
>> diff(y/x,'t')
ans =
(3*b*sin(t)^2)/(a*cos(t)^2) + (3*b*sin(t)^4)/(a*cos(t)^4)
3.计算二重积分

解:如下方代码所示
>> syms x y z
>> z=x^2+y^2;
>> R=int(int(z,'y',1,x^2),'x',1,2)
R =
1006/105
4.求无穷级数之和

解:如下方代码所示
>> syms n
>> S=symsum(((-1)^(n+1))/(2*n-1),1,inf)
S =
hypergeom([-1/2, 1], 1/2, -1) - 1
5. 求代数方程关于x,y的解。

解:如下方代码所示
>> syms a b c x y
>> [x,y]=solve(a*x^2+b*y+c==0,x+y==0)
x =
(b - (b^2 - 4*a*c)^(1/2))/(2*a)
(b + (b^2 - 4*a*c)^(1/2))/(2*a)
y =
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
第五题:绘图及其可视化
绘制1个周期的正弦曲线和2个周期的余弦曲线,要求如下。
1.正弦曲线:周期步长为π/20,线型为点划线、黑色、曲线宽度为2,点标志为五角星形,标记大小为10,填充颜色为黄色,周边颜色为红色。
解:如下方代码所示
>> t=0:0.2:2*pi;
>> y=sin(t);
>> plot(t,y,'-.bp','LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','y','MarkerSize',10)

2.余弦曲线:周期步长为π/10,线型为实线、蓝色、曲线宽度为3,点标志为上菱形,标记大小为9,填充颜色为品红色,周边颜色为绿色。
解:如下方代码所示
t1=0:pi/10:4*pi;
y1=cos(t1);
plot(t1,y1,'-bd','LineWidth',3,'MarkerEdgeColor','g','MarkerFaceColor','r','MarkerSize',9)

3.添加标题“绘图示例”。
解:如下方代码所示
>> t=0:0.2:2*pi;
>> y=sin(t);
>plot(t,y,'-.bp','LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','y','MarkerSize',10), title('绘图示例')

4.添加轴标签X轴为“时间”,Y轴为“幅值”。
解:如下方代码所示
>> t=0:0.2:2*pi;
>> y=sin(t);
>>plot(t,y,'-.bp','LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','y','MarkerSize',10), title('绘图示例'),xlabel('时间'),ylabel('幅值')

5.为两条曲线分别各自添加图例。
解:如下方代码所示
>> t=0:0.2:2*pi;
y=sin(t);
plot(t,y,'-.bp','LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','y','MarkerSize',10), title('绘图示例'),xlabel('时间'),ylabel('幅值'),legend('正弦曲线')
>> t1=0:pi/10:4*pi;
>> y1=cos(t1);
>> plot(t1,y1,'-bd','LineWidth',3,'MarkerEdgeColor','g','MarkerFaceColor','r','MarkerSize',9),legend('余弦曲线')


6.分别在两个图形窗口中进行绘制。
解:如下方代码所示
t=0:0.2:2*pi;
y=sin(t);
plot(t,y,'-.bp','LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','y','MarkerSize',10), title('绘图示例'),xlabel('时间'),ylabel('幅值'),legend('正弦曲线')
>> t1=0:pi/10:4*pi;
>> y1=cos(t1);
>> plot(t1,y1,'-bd','LineWidth',3,'MarkerEdgeColor','g','MarkerFaceColor','r','MarkerSize',9),legend('余弦曲线')
>subplot(1,2,1),plot(t,y,'-.bp','LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','y','MarkerSize',10), title('绘图示例'),xlabel('时间'),ylabel('幅值'),legend('正弦曲线')
>> subplot(1,2,2),plot(t1,y1,'-bd','LineWidth',3,'MarkerEdgeColor','g','MarkerFaceColor','r','MarkerSize',9),legend('余弦曲线')

总结
上面这些题目在matlab中都是很基础的操作,学习matlab一定要跟着做练习,只有动手去敲代码,你才能体验到使用matlab的乐趣,希望这篇文章,可以为你建立起对matlab一个最基础的认知。
边栏推荐
猜你喜欢

jmeter逻辑控制器使用

最简单的idea构建微服务模块
GeoServer introductory study: 07 - release a larger multi-tiered TIF map data
![[highcharts application - double pie chart]](/img/e9/e580d0e7dfcd00be137140abfe8569.png)
[highcharts application - double pie chart]

ssh 登录connectction reset by peer
GeoServer入门学习:04-发布Shapfile地图数据

js写一个搜索添加记录,点击记录删除内容

神经网络论文Enhancing deep neural networks via multiple kernel learning

Redis之事务、锁

记录非Gui模式Jmeter使用
随机推荐
蚂蚁感冒,蓝桥杯,简易AC代码讲解
二分、前缀和(激光炸弹)几道例题的详细讲解,帮助理解相关知识点
numpy
微信小程序小说云开发免费源码
第八章 继承
【线性代数05】行列式的性质和应用
Members that must be initialized for initial column initialization
单片机——DHT11 温湿度传感器
Redis之sorted set 命令
各类测试场景的检查点
day11 基于Rest的操作、查询聚合索引
ES6新特性未命名参数
oracle数据库的数据备份导出与数据导入恢复
安全策略及电商购物订单简单用例
微信小程序--》数据请求和页面导航
jmeter简单压测
小程序——切割字符串
【线性代数04】投影矩阵P和标准正交矩阵Q
01背包问题,简易AC代码加详细讲解,地宫寻宝,波动数列等DP问题。
jmeter逻辑控制器使用