matlab数模课件-教程入门_第1页
matlab数模课件-教程入门_第2页
matlab数模课件-教程入门_第3页
matlab数模课件-教程入门_第4页
matlab数模课件-教程入门_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Outline•简介基本概念应用案例••Xiaodong

@Math.SDUPrimer2–技术计算语言精通数学矩阵/函数/数值计算高级语言函数/控制流/面

象可视化二维/三维/动画/GUI开发异常/测试/源码/优化工作流硬件/分析/仿真/嵌入快速可靠计算库/并行/数值测试大数据Web

/

MapReduce语言集成Java/C/C++/Py/.net应用广泛ML/SP/IP/CF/RobotsXiaodong

@Math.SDUPrimer3产品地图

/products每半年发布一个新版本:…/R2010a/…/R2016a/R2016bXiaodong

@Math.SDUPrimer4常见工具箱(toolbox)统计与机器学习神经网络优化全局优化曲线拟合符号数学偏微分方程Xiaodong

@Math.SDUPrimer5官网资源中文官网:/文档:/help/快速入门:/help//getting-started-with-.html网络研讨会:/academia/webinars.html中文

Xiaodong

@Math.SDUPrimer6文档XiaodongPrimer7th.SDU一、语言基础知识XiaodongPrimer8th.SDU二、数学XiaodongPrimer9th.SDU三、图形XiaodongPrimer10th.SDU四、

和函数编程XiaodongPrimer11th.SDU五、数据导入和导出XiaodongPrimer12th.SDU六、App构建XiaodongPrimer13th.SDU七、高级

开发XiaodongPrimer14th.SDU八、桌面环境XiaodongPrimer15th.SDU九、支持的硬件XiaodongPrimer16th.SDUOutline•简介基本概念应用案例••Xiaodong

@Math.SDUPrimer17基本概念桌面与命令入门向量、矩阵、数组数组运算与矩阵运算数组索引函数及其调用二维与三维绘图与控制流符号计算Xiaodong

@Math.SDUPrimer18桌面环境当前文件夹文件命令提示符命令窗口输入命令工作区管理数据命令历史菜单栏Xiaodong

@Math.SDUPrimer19命令入门创建变量变量名=变量值Variable>>

a

=

1 >>

b

=

2创建变量(Variable)①a

=1b

=2>>

c

=

a

+

b计算表达式(expression)②c

=3调用函数(function)>>

d

=

cos(a)③d

=0.5403>>

e

=

a

*

b;⑤>>

sin(a)④默认的ans变量(answer)ans

=0.8415分号(;)使计算后不显示输出Tip:上下箭头键(↑↓)可调用历史命令长格式显示⑥>>

format

long;

cos(a)ans

=0.540302305868140Xiaodong

@Math.SDUPrimer20向量、矩阵和数组数组矩阵向量向量化运算Xiaodong

@Math.SDUPrimer21创建数组816357492>>A=[8

1

6;3

5

7;4

9

2];%矩阵以分号(;)分隔各行12300013579以逗号(,)或空格分隔行内元素直接输入法方括号括起所有元素>>

v

=[1,2,3];%行向量①函数生成法ones,

zeros,

rand…>>z=zeros(3,1);

%列向量②>>s=1:2:10;

%行向量冒号表达式产生上下限间等步长元素组成的行向量下限:步长:上限③Xiaodong

@Math.SDUPrimer22数组运算与矩阵运算逐元素运算(element

by

element)数组运算Array

Operations线性代数规则(rules

of

linearalgebra)矩阵运算Matrix

Operations加

幂 转置+

-

.*

./

.^

.'加

幂 转置+

-

*

/

^

'1234A1221B3456C1=A+22455C2=A+B1464C3=A.*B541110C4=A*B逐元素相乘数组乘法计算对应行与列的内积矩阵乘法Xiaodong

@Math.SDUPrimer23串联数组使用方括号[]串联数组(Concatenation)0000111100110

01100001111A=zeros(2)B=ones(2)X=[A,B]Y=[A;B]水平串联逗号分隔(行数相同)垂直串联分号分隔(列数相同)HorizontalVerticalXiaodong

@Math.SDUPrimer24复数虚数单位是-1的平方根复数>>

sqrt(-1)ans

=0.0000

+

1.0000i虚部使用i

或j>>

c

=

[3+4i,

4+3j;

-i,10j]c

=3.0000

+

4.0000i4.0000+3.0000i0.0000

-1.0000i0.0000+10.0000iTip:变量名避免使用i

和jNote:

虚数单位之前没有空格!Xiaodong

@Math.SDUPrimer25数组索引816357492AA(8)A(2,3)单下标索引线性索引数组元素按列834159672括号内指定元素行、列下标双下标索引同时多个元素冒号表达式做下标ans

=159>>

A(1:3,2)ans

=4

9

2>>

A(3,:)指该维最末元素end

作下标Note:数组行列下标从1开始!ans

=2>>

A(end,3)冒号表达式中间步长为1时可省略:直接作行/列下标代表所有行/列Xiaodong

@Math.SDUPrimer26函数及其调用封装好的代码,用于执行某些任务,接受输入,处理后返回输出函数Function>>max(A)ans

=5>>

[maxA,location]

=

max(A)多个输出参数需放在方括号中maxA

= location=5

3max(A,B)%每列的最大值多个输入参数以逗号分隔ans

=10

6

5clc

%

ClearCommand

Window无输入输出参数的函数可直接调用>>

A=[1

3

5];

B=[10

6

4];Note:函数名大小写敏感!函数名后小括号内接受输入参数函数调用Xiaodong

@Math.SDUPrimer27二维线图绘图>>

x

=

0:pi/100:2*pi;>>

y

=

sin(x);>>

plot(x,y)plot(x,y)创建y

关于x

的二维线图标记x,y

轴并添加标题>>

xlabel('x')>>

ylabel('sin(x)')>>

title('Plot

of

Sine')2-D

LinePlotNote:函数名大小写敏感!Note:字符串参数以一对单引号括起Xiaodong

@Math.SDUPrimer28线型、点标记符与颜色>>

x

=

0:pi/4:2*pi;>>

y

=

sin(x);>>

plot(x,y,'r--o')线条规格字符串作为plot

的第3个参数,指定线型、点标记符和颜色Line

Style,Marker

Symbol,

Color01234567-0.6-0.8-1-0.4-0.80.61绘制带圆圈标记的红色虚线'r--o'颜色红red线型虚线点标记圆圈说明1.规格字符串中的顺序无关2.可忽略一个或多个选项Xiaodong

@Math.SDUPrimer29同时绘制多个图形>>

x

=

0:pi/100:2*pi;>>

y

=

sin(x);>>

plot(x,y)>>

hold

on>>

y2

=

cos(x);>>

plot(x,y2,':')>>legend('sin','cos')%图例hold添加新绘图时保留当前绘图(否则旧绘图会被清除)说明在遇到hold

off

前始终在当前窗口绘图同时绘制多条线条时,颜色默认先蓝后红Retain

current

plotXiaodong

@Math.SDUPrimer30三维绘图>>

[X,Y]

=

meshgrid(-2:.2:2);surf三维曲面图,由z=f(x,y)定义3-D

shaded

surface

plot先用meshgrid

创建一组(x,y)网格点说明类似的有mesh

函数,绘制三维网格图surf

会对面进行

,而

mesh

不会>>

Z

=

X

.*

exp(-X.^2

–Y.^2);2

2计算

Z

坐标

z

xe

x

y>>

surf(X,Y,Z)创建曲面图Xiaodong

@Math.SDUPrimer31n

=

50;r

=

rand(n,1);plot(r)%50

个点%(0,1)内均匀分布的随机数%横坐标默认为1:n扩展名为.m

的文件,包含多行命令以供重用Scriptplotrand.m1.

存于当前文件夹时,在命令行中键入

名即可运行运行2.或在编辑器中点击运行按钮,或直接按快捷键F5Note:百分号(%)后的内容为注释,不参与运行Xiaodong

@Math.SDUPrimer32控制流控制流Control

Flow程序语句或函数调用的执行顺序包含顺序、条件(conditional)、循环(loop)三种conditionstatementsstatement

Astatement

Bstatement

Cconditionstatementstruefalsetruefalse顺序条件循环ifforXiaodong

@Math.SDUPrimer33for

循环%步长-0.2%显示变量v

的值for

v

=

1.0:-0.2:0.0disp(v)endfor

循环ForLoopfor

index

=

valuesstatements

%循环内语句左缩进并对齐enddisp_vec.m10.80000.60000.40000.20000在循环中将一组语句重复执行指定次数Xiaodong

@Math.SDUPrimer34if

条件语句threshold

=

0.75;vec

=

rand(1,10);if

mean(vec)

>

threshold%均值disp('Mean

is

out

ofthethreshold')elsedisp('Mean

is

within

the

threshold')endif

条件语句if

conditional

statementsif

expressionstatements

%表达式为true时执行elsestatements

%表达式为false时执行end条件为true时执行语句test_mean.mXiaodong

@Math.SDUPrimer35创建函数定义函数function

y

=

average(x)%接受一个输入向量,返回元素均值y=sum(x)/length(x);%求和/长度,参见sum,lengthend

%end

可选,用于表示结束函数定义function

[y1,…,yn]

=

myfun(x1,…,xm)定义名为myfun的函数,接受输入参数x1,…,xm,返回输出参数y1,…yn函数名须以字母开头函数名须与文件名一致function

须为第一个可执行代码行>>

x

=

1:99;>>

average(x)从命令行调用该函数ans

=50average.m说明Xiaodong

@Math.SDUPrimer36符号计算浮点数与浮点运算默认数据类型为双精度浮点数doubledouble

以64位二进制

,其能表示的数值有限舍入误差在浮点数的运算过程中会不断累积符号计算计算与求解不是在离散化的点上进行,而是依据数学定理,通过推理和演绎,力求获得解析结果计算基于准确表达的数值和严格的推演基础上Xiaodong

@Math.SDUPrimer37符号计算符号计算使用符号数学工具箱(Symbolic

Math

Toolbox)支持微分、积分、简化、变换、方程求解等支持可变精度计算,即以指定的精度返回结果精确、速

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论