matlab入门教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013年7月8日5时10分
回到主目录
4
常量
matlab中预定义的一些特殊的量。 2-1022 i,j 虚数单位 -1 Realmin 最小的正浮点数, 1023 pi 圆周率 Realmax 最大的浮点数, 2 eps 浮点运算的相对精度10-52 Inf 无穷大 NaN Not-a-Number ,表示不定值
1
0
1
1
19
标点
在matlab中一些标点符号也被赋以特殊的意义,或表 示要进行一定的运算等,如下表:
标点 定义 冒号,具有多种应用功能 标点 定义 续行符




区分行,及取消结果显示
区分列,及函数参数分隔符等 指定运算过程中的先后次序等 用于构成单元数组等
%
!
注释标记
调用操作系统运算 矩阵定义的标志等 字符串的标示符
例如: >>pi ans = 3.1416
%ans是默认的结果变量
2013年7月8日5时10分
5
>>1/0 Warning: Divide by zero. ans = Inf >>0/0
Warning: Divide by zero.
ans = NaN
2013年7月8日5时10分 6
定义变量时应避免与常量名相同,如果改变了某个常量的值, 可以用“clear+常量名”命令来恢复该常量的初始设定值。
>>ab=a&b ab = 0 1 0 1 0 0 0 1 1
>>nb=~b nb = 1 0 1 0 1 1 1 0 0
>>b=[0 1 0;1 0 1;0 0 1];
2013年7月8日5时10分
18
>>a=magic(5); >>a(:,3)=zeros(5,1) a=
>>a2=all(a>3) a2 =
>> a=sin(pi/4)+cos(pi/4)-tan(pi/4)... +cot(pi/4) a= 1.4142 >> a=sin(pi/4)+cos(pi/4)-t... an(pi/4) ??? an(pi/4) | Error: Unexpected MATLAB expression.
2013年7月8日5时10分 26
>> z=2*exp(pi/3i) z= 1.0000 + 1.7321i >> sin(pi/3)+cos(pi/3)j ??? sin(pi/3)+cos(pi/3)j Error: Unexpected MATLAB expression. >> sin(pi/3)+cos(pi/3)*j ans = 0.8660 + 0.5000i
在matlab语言中,一行内在“%”之后的文字均被认为是对M 文件或程序代码的解释部分。 “!”可以在命令窗口直接调用操作系统命令,例如DOS命 令,并将结果展示在命令窗口中,比如在命令窗口中调用“!dir c”, 以显示C盘的文件列表。 单引号作为字符串的标示符而存在,同时,它在矩阵运算中 也表示矩阵的转置运算及复数的共轭值。
>> c=a*b c= 30 36 42 66 81 96 102 126 150 >> d=a.*b d= 1 4 9 16 25 36 49 64 81
思考:
题目:通过描点法得到sin(x)xcos(x)函数在0-pi区间上 的曲线。
2013年7月8日5时10分
提示:通过点运算获得。(附件diancheng。txt)
20
()
{}
[]

2013年7月8日5时10分
下面对上表中各标点作进一步的介绍。 首先,用冒号来定义行向量。 基本格式:x=x1:step:x2(初始值:步长:尾元素数值限) x=x1:x2 (默认步长为1) 注意:这里强调x2为尾元素数值限,而不是尾元素值。当x2-x1恰为 步长的整数倍时,x2才能成为尾值。 例如:
15
Matlab语言的关系运算符如右表: 当判断一个矩阵是否百度文库空矩阵时, 一般不用“==”,而应当使用函 数isempty。
操作符 == ~= > >= < <=
定义 等于 不等于 大于 大于等于 小于 小于等于
2013年7月8日5时10分
16
Matlab语言的逻辑运算符如右表: 进行逻辑判断时,所有非零 数值均被认为为真,而零为假; 在逻辑判断结果中,判断为真时 输出1,为假时输出0. 三种运算符中,它们的优先级关系 先后为:算术运算符、关系运算 符、逻辑运算符。
思考:B1=a(1:3,:)?
2013年7月8日5时10分 23
分号在matlab语言中所起的作用是作为分隔行的标志,这里 包括在矩阵定义中对行的区分以及在程序代码中对行的划分。在 矩阵定义中,分号之间的数据被认为是矩阵的同一行。对于以分 号结尾的行语句,matlab语言不会把其运算结果显示在命令窗口 中。 逗号主要起两个作用。其一是逗号是函数参数的分隔符,也是 矩阵下标的分隔符。其二是逗号也是区分矩阵列的标志,在同一 行中,逗号分隔开的是各个列。 括号是调整运算先后次序的标点,可以通过引用括号来调整运 算次序。 矩阵的定义需要使用中括号。此外,中括号可以表示空矩阵, 并通过该空矩阵实现对矩阵的部分删除。以下举例:
2013年7月8日5时10分
25
大括号是单元型数据所特有的标点。后面介绍。 小数点“.”,它起到了数学符号的作用;而作为点运算的标志符, 它又构成了各种各样的点运算;最重要的是它可作为结构型数组 应用时的专有符号。 “…”为matlab语言中的续行符,但是该续行符只能出现在各个语 义群之间,也就是说不能出现在变量名之间,否则出错。例如:
操作符 & | ~ xor any all
定义 逻辑与 逻辑或 逻辑非 逻辑异或 当向量中存在非 零元素时为真 当向量中所有元 素非零时为真
2013年7月8日5时10分
17
>>a=[1:3;4:6;7:9]; >>x=5; >>y=ones(3)*5; >>xa=x<=a xa = 0 0 1 0 1 1 0 1 1
2013年7月8日5时10分
24
>> a=[1,2,3,4;5,6,7,8;4,3,2,1;8,7,6,5] a= 1 2 3 4 5 6 7 8 4 3 2 1 8 7 6 5 >> a(:,1:2)=[] a= 3 4 7 8 2 1 6 5 >> b=a([1 3],:) b= 3 4 2 1
>> double(s)„ %s=„i love you‟ s= ans = it's good 105 32 108 111 118 101 32 121 111 117
2013年7月8日5时10分
11
>> a=[1:5] a= 1 2 3 4 5
>> b=num2str(a) b= 1 2 3 4 5 >> a*2 ans = 2 4 >> b*2 ans = 98 64 64 100 64 64 102 64 64 104 64 64 106
2013年7月8日5时10分
9
字符串

字符串用单引号输入或赋值; 字符串的每个字符都是都是字符数组的一个元素; 字符串和字符数组基本上等价。
>> s='i love you' s= i love you >> size(s) ans = 1 10 >> s(2) ans = >> s(10) ans = u
MATLAB
——数学建模基础教程
主讲者:高陈燕
MATLAB ——数学建模基础教程
MATLAB的概述
MATLAB程序设计基础
MATLAB在数值计算中的应用
MATLAB的符号计算 MATLAB的图形处理
MATLAB程序设计基础
MATLAB语言的基本要素 MATLAB语言的核心——矩阵
单元型数据和结构型数据
2013年7月8日5时10分
21
>> a=1:2:12 a= 1 3 5
7
9
11
>> a=12:-2:1 a= 12 10 8
>> a=1:6 a= 1 2
6
4
2
3
4
5
6
>> a=2:2:12 a= 2 4 6
8
10
12
2013年7月8日5时10分
22
其次,通过使用冒号,可以截取指定矩阵中的部分。例如:
操作符
+ -
定义
算术加 算术减
*
.* ^ .^ \ .\ /
算术乘
点乘 算术乘方 点乘方 算术左除 点左除 算术右除
./
2013年7月8日5时10分
点右除
14
>> a=[1,2,3;4,5,6;7,8,9] a= 1 2 3 4 5 6 7 8 9 >> b=[1 2 3 456 7 8 9] b= 1 2 3 4 5 6 7 8 9
12
6
8
10
2013年7月8日5时10分
matlab对字符串的操作与C语言中的几乎完全相同:
strcat 链结串 strcmp 比较串 strvcat 垂直链结串 strncmp 比较串的前n个字符 findstr 在其他串中找此串 upper 转换串为大写 lower 转换串为小写 blanks 生成空串 deblank 移去串中空格… … 执行字符串的功能用eval来实现。 例如:把前面的字符串s转化成大写。s=“it‟ good”
ans = 3.14159265358979 >>format long e;pi ans = 3.141592653589793e+000 >>format long g;pi ans = 3.14159265358979
2013年7月8日5时10分 8
Matlab语言还提供了复数的表达和运算功能。复数的基本 单位表示为i或j。例如: 如果是表达式,必须在虚部的数值与i、j之间使用乘号。
1
17 23 4 10 11 24 5 6 12 18 0 0 0 0 0 8 14 20 21 2 15 16 22 3 9
1
0
0
0
>>a11=any(a(:,1)>10) a11 = 1
>>a1=all(a(:,1)<10) >>a22=any(a>10) a1 =
a22 =
0 1
2013年7月8日5时10分
>> a=[1:18];a=reshape(a,3,6) %重组矩阵 a= 1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18 >> a1=a(:,1:3) %提取矩阵a的第1到3列元素组成的子矩阵。 a1 = 1 4 7 2 5 8 3 6 9 >> a2=a(1:2,3:end) a2 = 7 10 13 16 8 11 14 17
字符串的每个字符(包括空格)都是字符数组的一个元素。 在matlab中,字符串与字符数组或矩阵基本上是等价的。
2013年7月8日5时10分 10
如果在字符串内使用单引号时,可以用连续两个单引号表示。 字符串之间的转换函数: 例如: double 字符串转换为数值代码 num2str 数字转换为字符串 int2str 整数转换为字符串 mat2str 矩阵转换为字符串 str2num 转换字符串为数字 >> s='it''s good„
>>t=„1/(a*b-1)‟;a=2;b=3;c=eval(t) >> upper(s) c= 0.2000 ans = IT'S GOOD % 可以在一行中表示。
2013年7月8日5时10分
13
运算符
在matlab语言中运算符包 括算术运算符、关系运算符和 逻辑运算符。其中算术运算符 见右表: 其中点运算是指操作元素 点对点的运算,也就是说矩阵 内元素对元素之间的运算,点 运算要求参与运算的变量在结 构上必须是相似的。 例如:
>>pi=1 pi = 1 >>clear pi >>pi ans = 3.1416
2013年7月8日5时10分
7
数值
数值缺省为实数保留小数点后4位浮点数表示。其输入格式与C 语言一致:如:9 -73 0.1999 1.475e6 输出格式由format命令控制,只是影响屏幕显示效果,不影响内 >>format long;pi 部存储和计算。下面以pi为例。
M文件 流程控制语句
MATLAB语言的基本要素
变量
Matlab语言主要是由几个基本要素构建而成 变量不需要事先声明,也不需要指定变量类型,它会自动根据 的,其中包括变量、常量、数值、字符串、运算 所赋予变量的值或对变量的操作来确定变量的类型;赋值过程中, 符及标点等。
如果变量已存在,则用新值代替旧值,以新的类型代替旧的类型。 变量的命名规则: 变量名区分大小写; 变量名长度不超过31位,第31位之后的字符被忽略; 变量名以字母开头,变量名中可以包含字母、数字、下划线, 但不能使用标点。 变量一般为局部变量,即仅在其调用的M文件内部有效;若要 定义全局变量,须在变量前加关键字global。
相关文档
最新文档