2022Matlab最新入门教程(2018matlab安装教程破解)

本文适合哪些对象?

有一点点的编程基础的,想要学习Matlab的小白。正在学习Matlab,基础也没搞明白的人。大学生、研究生想要打数学建模相关竞赛,需要使用到该语言的人

最后一句:基础内容其实并不多,不要被外部的一些机构,书籍等误导,请对本文的所有内容完全掌握,内容很少,花两天学会,后续请花时间学习算法。

一、基本运算

基本加减乘除:

a=5+5 %加法,同理减法 b=2^3 %立方, c=5*2 %乘法 x = 1; %分号用于不显示 y = x + 5

常见变量:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

二、变量

2.1 基础

在上面小节,我们看到的左边就是字母就叫做变量。很简单,这里随便举几个例子就学会了。 (1)计算=a*2,a=5

clear all %清空 clc % 情况工作区 a=5; b=a*2; b

(2)通过用户输入来获取变量x的值,计算y=x*3

x=input(请输入数字) %input用于接收数字 y=x*2

(3)使用预定变量,常见的比如pi,inf,eps,NaN

r=1 L=2* pi *r S=pi*r*r

2.2 数据显示格式

默认情况下,MATLAB 四个小数位值显示数字。这就是所谓的 short format。如果想更精确,需要使用 format 命令。长(long ) 命令格式显示小数点后16位。

注:一般来说,我们不会太在乎精度,能保留四位数就可以了,所以这个不怎么用得到。

通过以下两种方式对比即可理解,注意逗号分开:

format long ,pi format short ,pi

再来个例子:

format short %直接声明为短型 a=3.1415926

2.3 基本关系运算符

常见大于等于小于,如果为真返回1,否则返回0:

a=5 b=2 a>b %大于 a==b %等于 a<b %小于

三、向量

3.1 基础

就是数组,矩阵的形式,举两个例子就知道了。 (1)手动输入数组。元素时间用空格/逗号,分号分割。其中逗号与空格等价。分号用于换行,制作多行多列矩阵。

r = [7 8 9 10 11] r2 = [7 8 9 10 11] c = [7; 8; 9; 10; 11] d=[1 2 ;3 4 ;5 6]

(2)冒号创建。格式:x=开始:间隔:结尾

x=2:2:10

(3)linspace函数创建线性间隔向量。基本格式:linspace(开始,结束,元素个数),默认个数为100。

y=linspace(1,20,10)

3.2 向量点积

矩阵相乘,自然是点积,不是直接的乘法。以几个例子作为说明。 (1)直接.*

a=[1 2 3 4 5]; b=[6 7 8 9 10]; c=a.*b sum(c)

(2)使用dot函数点积

d=dot(a,b)

3.3 向量交叉运算

使用cross函数,基本格式为:cross(a,b)。前提:a和b必须为三维向量。例如:

a=[1 2 3 ]; b=[6 7 8 ]; c=cross(a,b)

四、交互式命令

4.1 input用户输入

其实在前面已经提到过了,这里再强调一次。

x=input(“请输入数字:”); x

4.2 disp显示命令

基本格式:disp(x),显示变量x的值。例如:

a=5*3; b=a*5; disp(b)

4.3 pause暂停命令

pause用于暂停程序。例如下面只执行pause上面语句:

a=5*2 pause b=a*2

五、分支结构

5.1 if-end

语法格式为:

if 表达式 语句组 end

例如:比较a和b的大小

clear all clc a=5; b=2; if a>b fprintf(“a大于b”) end

5.2 if-else-end

例如:

clear all clc a=5; b=2; if a>b fprintf(“a大于b”) else fprintf(“a不大于b”) end

5.3 if-elif-end

例如:输入一个数字,判断奇数和偶数

clear all clc x=input(请输入数字:); c=rem(x,2) %求余数的函数 if c==1 fprintf(x为奇数) elseif c==0 fprintf(x为偶数) else fprintf(非数字) end

5.4 嵌套if

基本格式:

if 表达式 语句组 if 表达式 语句组 end end

例如:判断学号是否正确,且为偶数

clear all clc y=input(请输入学号:) if y==124 if rem(y,2)==0 fprintf(学号正确,且为偶数) end else fprintf(学号错误) end

5.5 控制流补充:

没想到那么多人喜欢本篇文章,这里我再对控制流补充一些,就从我的CSDN博客复制过来了….原文:数学建模学习(8):最全控制流命令讲解_川川菜鸟的博客-CSDN博客

(1)continue命令

该命令用于终止for或者while循环一次执行,划重点了:终止 下面就是个例子:

clear all clc a=3; b=6; for i=1:3 b=b+1 if i<2 continue end a=a+2 end

返回如下:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

由于终止了一次,a只返回了两个值,b返回了三个值。当if语句满足时将不在执行continue后面的语句,而是开始执行下一轮循环。

(2)break命令

再熟悉不过的一个命令,就是用来终止内层循环。 下面看个例子:

%break命令 clear all clc a=3; b=6; for i=1:3 b=b+1 if i>2 break end a=a+2 end

返回:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

由此可知,当i=3时候不满足情况,就执行break结束了循环。a和b都只返回了两个值。

(3)return命令

该命令就是用于结束某函数执行,强制返回输出 下面是大概demo:

function d=det(A) if isempty(A) a=1; return else end end

(4)input命令

该命令可以让用户输入,然后返回相关值。input有三种使用方法,演示如下:

%input命令 a=input(请输入一个数字:)%输入数值给a b=input(输入一个数字:,“s”)%输入字符串给b input(请输入换算式子:)

输入如下:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

返回如下:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

(5) keyboard命令

keyboard命令,放在最前面,只有当用户再次输入return时才会返回值,如下则不会返回值,程序实际上只执行到keyboard,并没有执行以下命令,当输入return时,才会执行以下命令,输出值。

%keyboard keyboard for i=1:9 if i==3 continue end fprintf(i=%d\n,i) if i==5 break end end

看看过程:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

当输入return后,再次执行才能返回结果。如果不输入return,程序将会永远停留在keyboard卡住。

(7) error与warning命令

顾名思义error抛出错误信息,然后终止程序,warning显示错误信息,继续执行。

%error和waring n=input(输入数字:) if n<2 error(message); else n=2; end

当我输入1就报错:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

当我输入2,则不报错:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

现在我们结合warning:

%error和waring n=input(输入数字:) if n<2 errordlg(数字太小,数据错误)%对话狂标题为:数据错误 warning(message); else n=2; end

输入则返回如下,避免了程序终止:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

六、循环结构

6.1 for循环

基本格式:

for 变量=表达式 执行语句 end

表达式的通常格式为f:s:l,s默认为1,m表示开始,l表示结束。举个例子说明:遍历数字1到10

for a = 1:10 fprintf(值a: %d \n, a); end

同理可以设置间隔:

for a = 1:2:10 fprintf(值a: %d \n, a); end

间隔也可以为负数:

for a = 1.0: -0.1: 0.0 disp(a) end

右侧也可以是向量:

for a = [2 3 4 5 6] disp(a) end

6.2 while循环

基本格式:

while 表达式 语句组 end

举个简单的例子:遍历小于10的数字,并累加求和

i=0; sum=0; while(i<10) sum=sum+i; i=i+1; end fprintf(累加和为: %d \n, sum);

七、函数

7.1 普通函数

编写函数一般在.m文件中编写。函数文件由function语句引导,基本结构为:

function 输出形参表 = 函数名(输入形参表) % 写一点关于函数的摘要 % 写一点参数说明 函数体语句 end

手动新建函数:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

执行函数的形式:

[输出实参表]=函数名[输入实参表]

例如编写一个函数:如果x>0,则y=2x;如果x<0,则y=xx;如果x=0,则y=0

function y= f(x) % x为一个整数 if x>0 y=2*x; elseif x==0 y=0; else y=x*x; end disp(y) end

执行:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

这就是一个常见的普通函数。文件名与函数名保存是一致的。

7.2 匿名函数

匿名函数基本格式:

f = @(变量列表)表达式

举两个例子如下(niming.m):

close all; clc; b=@(x)(sin(x)+cos(x)); %创建关于x的匿名函数 c=b(pi) %带入pi d=@(x,y)(sin(x)+cos(y)) %创建x和y的匿名函数 e=d(pi,pi) %带入pi值测试

7.3 嵌套函数

简单的说,就是函数内部再写了函数,一般写两层。建议没事不要写嵌套函数,函数尽量分开写。 嵌套函数基本格式:

function x = A(p1, p2)function y = B(p3) … end … end

举个例子:计算一元二次方程(qiantao2.m)

function [x1,x2] = qiantao2(a,b,c) %定义函数qiantao2计算一元二次函数 d=0; %初始化 function disc d = sqrt(b^2 – 4*a*c); %计算d end disc; %输出d x1 = (-b + d) / (2*a); x2 = (-b – d) / (2*a); end

测试案例:qiantao2(1,-2,1)

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

再来个测试案例:qiantao2(2,4,-4)

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

八、数据可视化

8.1 优美散点图

举个例子,有如下的数据,分别表示为年龄,人体血压高压:

x=[75;78;51;82;77;88;41;78;78;61;71;74;62;81;75;64;80;72;51;80;56;73] y1=[208;146;168;149;208;102;130;155;163;154;145;147;143;161;145;120;153;158;123;163;177;148]

最简单的方法,比如绘制年龄与高血压关系,使用scatter函数:

scatter(x,y1) %直接绘制

完整为:

x=[75;78;51;82;77;88;41;78;78;61;71;74;62;81;75;64;80;72;51;80;56;73]; y1=[208;146;168;149;208;102;130;155;163;154;145;147;143;161;145;120;153;158;123;163;177;148]; scatter(x,y1)

绘制如下:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

想要它好看点呢?绘制为红色,添加个r参数即可,它为red缩写:

scatter(x,y1,r) %填充颜色绘制为红色

绘制如下:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

如果你还想绘制更加好看呢?多彩一点!

c = linspace(1,10,length(x)); %创建向量 scatter(x,y1,[],c)

绘制如下:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

再来,填充并标记的散点色彩图:

sz = 25; c = linspace(1,10,length(x)); scatter(x,y1,sz,c,filled)

绘制如下:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

本节完整代码:

x=[75;78;51;82;77;88;41;78;78;61;71;74;62;81;75;64;80;72;51;80;56;73]; y1=[208;146;168;149;208;102;130;155;163;154;145;147;143;161;145;120;153;158;123;163;177;148]; scatter(x,y1) scatter(x,y1,r) %填充颜色绘制为红色 c = linspace(1,10,length(x)); %创建向量 scatter(x,y1,[],c) sz = 25; c = linspace(1,10,length(x)); scatter(x,y1,sz,c,filled)

8.2 条形图

例如张三的各门课成绩分别为:94,54,65,87,使用这个数据,我们将绘制条形图。

x = [1:4]; %x个数一定要与y个数对应 y = [94,54,65,87]; bar(x,y) %使用bar函数 xlabel(科目) ylabel(成绩) title(条形图)

绘制如下:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

8.3 概率分析图

请参考:数学建模学习(5):最全概率分析之图表绘制详解 本片文章有着详细的教程,因此我便不再重述。

8.4 读取excel画图

请参考:数学建模学习(46):读取excel数据plot画图

九、更多请参考

参考matlab官方文档:

plot函数scatter函数

如果你还想学习更多关于Matlab的一些函数使用方法,请持续学习文档。

十、本文代码获取

本篇教程所有代码获取方式:

公众号:川川带你学AI 回复:20220710

内容如图:

2022Matlab最新入门教程(2018matlab安装教程破解)
在这里插入图片描述

十一、数学建模算法讲解

请参考本专栏:数学建模丛小白到精通之路,本专栏一直更新,从未断过。

如果有问题,欢迎你与我联系,个人V:hxgsrubxjogxeeag

本专栏使用的编程语言:

MatlabPython

我对你的期望:

掌握python基础,python基础专栏教程:python全栈基础教程掌握matlab基础。本篇是对matlab的一些重点基础做了总结,要谈到细枝末节,请结合本专栏第一篇文章开始学习,如果你已经有一定基础,请直接看本片作为回顾即可。熟悉Python中的pandas模块,虽然本专栏并没有专门对该模块写过教程,但我希望你能自学该模块,因为专栏中的后续学习中都用到了该模块。

我的祝愿:希望大家拿奖到手软!——川川菜鸟

免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:2022Matlab最新入门教程(2018matlab安装教程破解) https://www.bxbdf.com/a/69950.shtml

上一篇 2023-05-20 13:15:26
下一篇 2023-05-20 13:17:38

猜你喜欢

联系我们

在线咨询: QQ交谈

邮件:362039258#qq.com(把#换成@)

工作时间:周一至周五,10:30-16:30,节假日休息。