网易首页 > 网易号 > 正文 申请入驻

参加数学建模国赛,一个月内学习Matlab还来得及吗?

0
分享至

最近有很多同学问小编这样的问题,一个月的时间到底能不能掌握Matlab?首先小编非常理解大家焦灼的心情,同时也非常肯定的告诉大家:一个月的时间学习Matlab是肯定没有问题的。


那么今天就给大家分享的是数学建模MATLAB的入门级别的使用教程,主要包含在数学建模竞赛中的常用操作、数学与模型以及部分练习题的解析。希望可以帮助同学们在接下来的备赛中迅速掌握MATLAB。

一、常规操作

01

基本运算

PART2

MATLAB 内四则运算相当于计算机的加减乘除,对应输入数字、运算符,回车即可得出结果。例如:在命令行窗口直接输入:

1+2

回车可得到结果为:3

总体为:

>> 1+2

ans =

3

也可以进行相关的赋值操作,再进行运算,例如:

>> a=1;b=3;

c=a+b,d=a-b,e=a*b,f=a/b,g=b^a

回车可得到结果依次为:c=4,d=-2,e=3,f=0.3333,g=3。

(注:在MATLAB中分号“;”的使用不影响运算,但不显示该行运算结果)

02

函数的运用

MATLAB 内含有很多种函数包,从基本运算到各类操作均有涵盖,此处展示部分基本运算的函数,其余函数需要使用可自行查阅使用。

>> x=pi/4

i=sin(x)

j=sqrt(x)

以上为圆周率π、sin、开方的函数,回车即可得出结果,其余函数的使用大致方法相似,可自行查阅。

03

数组(向量)的输入

向量的输入可以有以下几种操作:

k=[1,2,3]

l=1:2:10 %1为首项,10为末项,公差为2(步长增长)

m=linspace(1,10,20) %首项末项之间平均生成20个数

即:直接输入、按照步长增长生成、使用均分计算函数生成

均分计算函数的用法:x=linspace(x1, x2, N)

功能:linspace(x1, x2, N)生成一个数组,首项为x1,末项为x2之间平均生成N个数

以上运算结果为:

k =

1 2 3

l =

1 3 5 7 9

m =

列 1 至 8

1.0000 1.4737 1.9474 2.4211 2.8947 3.3684 3.8421 4.3158

列 9 至 16

4.7895 5.2632 5.7368 6.2105 6.6842 7.1579 7.6316 8.1053

列 17 至 20

8.5789 9.0526 9.5263 10.0000

04

矩阵的输入

例如想要输入矩阵

可在命令行窗口输入:

>> [1 2 3;4 5 6;7 8 9]

>> [1,2,3;4,5,6;7,8,9]

>> [1 2 3

4 5 6

7 8 9]

以上为三种输入方式,均可得到相同的矩阵,按照各自喜好进行输入即可。

05

数量(向量)的相关运算

以下两数组(向量):

x=1 3 5 7 9

y=1.0000 3.2500 5.5000 7.7500 10.0000

相加:

>> x+y

ans =

2.0000 6.2500 10.5000 14.7500 19.0000

相减:

>> x-y

ans =

0 -0.2500 -0.5000 -0.7500 -1.0000

相加、相减即对应项相加、相减并依次输出即为最终结果。

(注:数组长度像等才可以相加减,否则会报错)

相乘:

>> x.*y

ans =

1.0000 9.7500 27.5000 54.2500 90.0000

此处相乘指的是点乘,对应项相乘,在传统的向量点乘中则是各项相乘再求和即:

传统向量点乘为:

>> z=x.*y

z =

1.0000 9.7500 27.5000 54.2500 90.0000

>> sum(z)

ans =

其他操作:

>> x+2

ans =

3 5 7 9 11

各项分别加2,再输出即为所得结果。

>> x.^2

ans =

1 9 25 49 81

对应各项分别平方。

(注:^和.^是有区别的,^是以矩阵为操作数的乘方,相当于A*A,此时要求矩阵A为方阵;.^是以矩阵中的每个元素为操作数的乘方)

06

矩阵的相关运算

以矩阵A、B为例,A=[1 2 3;4 5 6;7 8 9];B=[1 1 1; 2 2 2;3 3 3],

相加:

>> A+B

ans =

2 3 4

6 7 8

10 11 12

相减:

>> A-B

ans =

0 1 2

2 3 4

4 5 6

矩阵的相加减即对应项的相加减,这就要求矩阵的维度必须相同才能进行相加减。

矩阵相乘:

点乘

>> A.*B

ans =

1 2 3

8 10 12

21 24 27

星号乘

>> A*B

ans =

14 14 14

32 32 32

50 50 50

点乘为对应项相乘,星号乘即为线性代数中的矩阵相乘,对两矩阵的维度有一定的要求。

幂计算

>> A^2

ans =

30 36 42

66 81 96

102 126 150

>> A.^2

ans =

1 4 9

16 25 36

49 64 81

注意辨析^和.^,两个符号下所得的计算结果是不一样的。

(注:^和.^是有区别的,^是以矩阵为操作数的乘方,相当于A*A,此时要求矩阵A为方阵;.^是以矩阵中的每个元素为操作数的乘方)

07

矩阵、数组(向量)的相关操作

以矩阵A=[1 2 3;4 5 6;7 8 9]、数组x=1:2:10为例,进行相关操作

矩阵特定数值提取:

a1=A(2,2) %提取某一行某一列的特定数据

a2=A(2,:) %提取某一行

a3=A(:,1) %提取某一列

a4=A(:,1:2) %选择两列

a5=A(:,[1,3]) %选择1、3两列

a6=A([1,3],:) %选择1、3两行

a7=A([2,3],[2,3]) %提出矩阵的一部分2、3行、2、3列

以上分别为提取单个特定数据、提取单行、提取单列、选择两个连续列、选择两个特定列、选择两个特定行、提取矩阵某一分块,较大矩阵以此类推即可。

矩阵特定数据赋值:

A(3,2)=0 %3行2列数据赋值为0

A(:,1)=0 %第1列数据赋值为0

A(2,:)=0 %第2行数据赋值为0

A(:,1)=[] %清除第1列

A(1,:)=[] %清除第1行

以上分别为单个特定数据赋值、某一列赋值、某一行赋值、清除某一列、清除某一行,在进行其他较大数据时可依此类推进行操作。

相关计算:

b1=length(x)

b2=max(x)

b3=min(x)

b4=length(A)

b5=size(A) %针对行、列求其长度

b6=max(A) %矩阵内每一列的最大值

b7=min(A) %矩阵内每一列的最小值

b8=max(max(A)) %矩阵的最大值

以上为数组、矩阵相关最值的求法,其中b8为矩阵中所有元素的最大值,在其他大型矩阵中用法相同,照例使用即可。

二、M文件的使用

M文件可以根据调用方式的不同分为两类:命令文件(Script File)和函数文件(Function File)

命令文件(Script File)

命令文件就是脚本文件,由一系列的MATLAB指令和命令组成的纯文本格式的M文件,执行脚本文件时,文件中的指令或者命令按照出现在脚本文件中的顺序依次执行。脚本文件没有输入参数,也没有输出参数,脚本文件处理的数据或者变量必须在MATLAB的公共工作空间中。

例1:建立脚本文件计算10!

clear,clc

A=1

for i=1:10

A=A*i;

end

A

输出结果为:

A =

函数文件(Function File)

函数文件可以包含输入变量,并把结果传送给输出变量,函数文件是在脚本文件的基础之上多添加了一行函数定义行,常用于扩充MATLAB函数库、可以包含输入、输出变量、运算中生成的所有变量都存放在函数工作空间、包含函数声明行。

例2:建立一个函数文件,定义阶乘函数,然后在命令窗口计算10!。

function A=jiecheng(n)

A=1;

for k=1:n

A=A*k;

end

计算10!,结果为:

>> A=jiecheng(10)

A =

三、利用MATLAB作图

PART4

图像是结果的一种可视化表现,它能直观的体现你的结果,并且能体现你获得结果的准确性,在当前的大数据时代,在做数据分析的时候,将其可视化可以直观多维的展示数据,可以让人们更好的发现并且记住数据的特征,因此很多时候掌握一些绘图方法是非常重要的,而使用MATLAB可以非常简单的进行绘图,以下为简单的作图命令及代码。

直接上例题:

例3:在同一个坐标系内,做出函数y1=sinx,y2=x,y3=x-x^3/3!,y4=x-x^3/3!+x^5/5!,y5=x-x^3/3!+x^5/5!-x^7/7!的图像,并标注图像名称。

clear,clc

x=-2*pi:0.01:2*pi;

y1=sin(x);

y2=x

y3=x-(x.^3)/factorial(3);

y4=x-(x.^3)/factorial(3)+(x.^5)/factorial(5);

y5=x-(x.^3)/factorial(3)+(x.^5)/factorial(5)-(x.^7)/factorial(7);

plot(x,y1,x,y2,x,y3,x,y4,x,y5); %plot函数绘图

title('函数图像'); %显示图像标题

text(0.2,0.8,'y1=sinx'); %在点(0.2,0.8)处标注显示y1=sinx

legend('y1','y2','y3','y4','y5'); %给出y1,y2,y3,y4,y5的图例

输出图像为:

例2:在同一个图像幕布内,按照2*3做出函数y=sinx,y1=x,y2=x-x^3/3!,y3=x-x^3/3!+x^5/5!,y4=x-x^3/3!+x^5/5!-x^7/7!,y5=x-x^3/3!+x^5/5!-x^7/7!+x^9/9!的图像,并标注图像名称。

clear,clc

x=-2*pi:0.01:2*pi;

y1=sin(x);

y2=x

y3=x-(x.^3)/factorial(3);

y4=x-(x.^3)/factorial(3)+(x.^5)/factorial(5);

y5=x-(x.^3)/factorial(3)+(x.^5)/factorial(5)-(x.^7)/factorial(7);

y6=x-(x.^3)/factorial(3)+(x.^5)/factorial(5)-(x.^7)/factorial(7)+(x.^9)/factorial(9);

subplot(2,3,1),plot(x,y1),title('y1') %定义为2行3列中的第1幅图,标题为y1

subplot(2,3,2),plot(x,y2),title('y2') %定义为2行3列中的第2幅图,标题为y2

subplot(2,3,3),plot(x,y3),title('y3') %定义为2行3列中的第3幅图,标题为y3

subplot(2,3,4),plot(x,y4),title('y4') %定义为2行3列中的第4幅图,标题为y4

subplot(2,3,5),plot(x,y4),title('y5') %定义为2行3列中的第5幅图,标题为y5

subplot(2,3,6),plot(x,y4),title('y6') %定义为2行3列中的第6幅图,标题为y6

输出图像为:

以上为(1-1)的所有内容,其中主要包含了在数学建模期间所遇到的数据处理的一些基本操作,如:数据的提取、数据赋值、数据变换,另外就是利用MATLAB进行一些基本的图像绘制,主要是图像对比上可以利用多个图像在同一画面展示从而便于比对,同时学会图表标题设置,图像标注等问题。总的来说,以上涉及的操作只需从头到尾操作一次还是比较容易掌握的,算是MATLAB的入门知识,但这点知识在数学建模上式明显不够用,也上不了台面的,在遇到同类问题时应该注意的是知识迁移与资料查阅引用,很多知识是可以现学现用的,但是基本操作是不可或缺的,祝备赛顺利!

官方培训:第七届“数维杯”数学建模夏令营倒计时17天

数维杯数夏令营每年举办一届,已经连续举办七届,每年举办一次,已成为高校数学建模培训示范性基地,属于系统性的数学建模学习,主要针对国赛及培训等其它区域赛,采用分班教学,专家教授授课,7天集训+3天模拟赛+赛后点评解析,累计指导学生近1000余队(2800余人次),国赛荣获800余项省级以上数模奖项,参培学员获奖率超过80%,每期仅限招200人!

夏令营群

好啦~数模国赛即将来临啦

数乐君继续给大家发福利啦

里面都是一些数学建模竞赛中

经常能用到的必备干货商品

可以根据自己的需求去购买哦

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
社评:要卸任的斯托尔滕贝格还在给世界埋雷

社评:要卸任的斯托尔滕贝格还在给世界埋雷

环球时报国际
2024-06-19 00:21:13
男子被浙江乐清交警“锁喉执法”后续,官方发布通告,果然有情况

男子被浙江乐清交警“锁喉执法”后续,官方发布通告,果然有情况

有趣的火烈鸟
2024-06-19 18:32:10
欧洲杯头号倒霉蛋:乌龙+自杀助攻,全程跪地,目睹被绝杀

欧洲杯头号倒霉蛋:乌龙+自杀助攻,全程跪地,目睹被绝杀

叶青足球世界
2024-06-19 06:06:00
金正恩为普京举行隆重国宴!七旬普京穿西服端着高脚杯,太绅士了

金正恩为普京举行隆重国宴!七旬普京穿西服端着高脚杯,太绅士了

娱乐督察中
2024-06-20 01:40:46
忍痛给2.1亿!快船终于妥协,乔治掌控主动权,哈登也能坐收渔利

忍痛给2.1亿!快船终于妥协,乔治掌控主动权,哈登也能坐收渔利

巴叔GO聊体育
2024-06-19 13:01:53
发威了!中超倒数第1爆发,3-1胜,昂首杀入足协杯第5轮

发威了!中超倒数第1爆发,3-1胜,昂首杀入足协杯第5轮

侧身凌空斩
2024-06-19 17:53:19
最近查税的传闻,背后和你想的不一样

最近查税的传闻,背后和你想的不一样

拾榴询财
2024-06-19 22:18:22
血糖又有新标准?3.9-6.1已成历史,不同年龄标准不同,不妨自查

血糖又有新标准?3.9-6.1已成历史,不同年龄标准不同,不妨自查

今日养生之道
2024-06-18 20:29:32
官宣,中国女足归化第1人曝光,有中国血缘,或化解女足难题

官宣,中国女足归化第1人曝光,有中国血缘,或化解女足难题

东球弟
2024-06-19 14:53:13
武统、和统都没希望了?台湾军事专家:中国大陆已经找到第三条路

武统、和统都没希望了?台湾军事专家:中国大陆已经找到第三条路

车马点兵V
2024-06-15 11:04:03
妻子和网友睡3次,被网友转走5万多,2021年妻子:寂寞才找男人的

妻子和网友睡3次,被网友转走5万多,2021年妻子:寂寞才找男人的

汉史趣闻
2024-06-15 10:48:04
世界已经分裂成三大阵营,东大的最佳模式是成为世界独立力量。

世界已经分裂成三大阵营,东大的最佳模式是成为世界独立力量。

星辰故事屋
2024-06-17 20:08:19
长城汽车新一代哈弗H6发布 采用怀挡设计 11.79万起

长城汽车新一代哈弗H6发布 采用怀挡设计 11.79万起

手机中国
2024-06-19 20:42:05
李莉女士怀抱着无畏的精神,披露国际风云,却不幸陷入网暴漩涡中

李莉女士怀抱着无畏的精神,披露国际风云,却不幸陷入网暴漩涡中

橘色数码
2024-06-06 12:51:20
就在刚刚,中方正式下达“逐客令”,要求这国4天内必须离华!

就在刚刚,中方正式下达“逐客令”,要求这国4天内必须离华!

小乐讲故事
2023-05-17 09:52:08
这个倒霉蛋!离开雄鹿,雄鹿拿了冠军,离开绿军,绿军也拿了冠军

这个倒霉蛋!离开雄鹿,雄鹿拿了冠军,离开绿军,绿军也拿了冠军

球毛鬼胎
2024-06-18 13:01:51
金正恩接机普京,细节满满,两人的修养藏不住

金正恩接机普京,细节满满,两人的修养藏不住

天择杂谈
2024-06-20 00:10:06
韩军:数十名朝鲜士兵越界,韩方警告射击

韩军:数十名朝鲜士兵越界,韩方警告射击

新京报
2024-06-18 11:09:16
俄乌战争是专家和教授的“试金石”

俄乌战争是专家和教授的“试金石”

李昕言温度空间
2024-06-17 22:22:26
阿里赛预赛天才少女手写证明过程中的11个严重的错误或极坏的习惯

阿里赛预赛天才少女手写证明过程中的11个严重的错误或极坏的习惯

法制社会报
2024-06-18 13:10:36
2024-06-20 04:02:44
数模乐园官方
数模乐园官方
专注于数学建模,分享干货知识
1135文章数 793关注度
往期回顾 全部

科技要闻

618观察:谁为高强度的低价竞争买单?

头条要闻

丁进勇辞去越共中央政治局委员和河内市委书记职务

头条要闻

丁进勇辞去越共中央政治局委员和河内市委书记职务

体育要闻

欧洲杯最大的混子,非他莫属

娱乐要闻

黄一鸣“杀疯了” 直播间卖大葱养孩子

财经要闻

深化科创板改革 证监会发布八条措施

汽车要闻

双肾格栅变化大/内饰焕新 新一代宝马X3官图发布

态度原创

本地
亲子
旅游
数码
公开课

本地新闻

中式沙拉宇宙的天花板,它必须有姓名

亲子要闻

宝宝看到对面小朋友们在打篮球也跟着模仿动作有模有样。

旅游要闻

遭遇极端高温天气导致希腊多名游客死亡

数码要闻

三星注册“990 EVO Plus”商标,有望推出新款固态硬盘

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版