第2章MATLAB算术运算初步
更新时间:2023-05-24 06:09:01 阅读量: 实用文档 文档下载
第2章MATLAB算术运算初步
MATLAB算术运算初步
一、帮助
一旦发现指令不知如何使用时,help命令将告诉你使用。例: help sin
在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)并按入Enter键即可。例如: (10*19+2/4-34)/2*3 ans
= 234.7500
MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案,并显示其数值屏幕上。
如果在上述的例子结尾加上”;”,则计算结果不会显示在指令视窗上,要得知计算值只须键入该变数值即可
MATLAB可以将计算结果以不同的精确度的数字格式显示,我们可以在指令
视窗上的功能选单上的Options下选 Numerical Format,或者直接在指令视窗键入以下的各个数字显示格式的指令。 » format short (这是默认的)
MATLAB利用了↑↓二个游标键可以将所下过的指令叫回来重覆使用。按下↑则前一次指令重新出现,之后再 按Enter键,即再执行前一次的指令。而↓键的功用则是往后执行指令。其它在键盘上的几个键如→←, Delete, Insert,其功能则显而易见,试用即知无须多加说明。当要暂时执行作业系统(例如Dos)的指令而还要执行MATLAB,可以利用!加上原作业系统的指令,例如 !dir, !format a:。
Ctrl-C(即同时按Ctrl及C二个键)可以用来中止执行中的MATLAB的工作。
有三种方法可以结束MATLAB
第2章MATLAB算术运算初步
1.exit 2.quit
3.直接关闭MATLAB的命令视窗(Command window)
变量及其命名规则
变量
1. 变量名的大小写是敏感。
2. 变量的第一个字符必须为英文字母,而且不能超过31个字符。 3. 变量名可以包含下连字符、数字,但不能为空格符、标点。 预定义的变量
而键入clear则是去除所有定义过的变量名称。
MATLAB赋值语句
表达式
MATLAB书写表达式的规则与“手写算式”差不多相同。
第2章MATLAB算术运算初步
如果一个指令过长可以在结尾加上...(代表此行指 令与下一行连续),例如 ?3*... 6 ans = 18
MATLAB常用数学函数
三角函数和双曲函数
指数函数 复数函数 圆整函数和求余函数
第2章MATLAB算术运算初步
矩阵变换函数
其他函数
MATLAB系统命令
第2章MATLAB算术运算初步
MATLAB语言中的关系与逻辑运算
在执行关系及逻辑运算时,MATLAB 将输入的不为零的数值都视为真 (True)而为零的数值则视为否 (False)。 运算的输出值将判断为真者以 1 表示而判断为否者以 0 表示。各个运算元须用在二个大小相同的阵列或是矩阵中的比较 关系运算
例:
a=1:2:11;b=2:1:7; a>b
ans =0 0 1 1 1 1 a==b ans =
0 1 0 0 0 0
a>=b ans =
第2章MATLAB算术运算初步
0 1 1 1 1 1
a-(b>4) ans =
1 3 5 6 8 10 逻辑运算
(a<2)|(b>6) ans =
1 0 0 0 0 1 c=a+(a>3)|(b<6) c =
1 1 1 1 1 1 逻辑关系函数
第2章MATLAB算术运算初步
isequal(a,b) ans = 0
isreal(a) ans = 1
isstudent ans = 0
矩阵的产生
1. 简易阵列
MATLAB的运算事实上是以阵列 (array) 及矩阵 (matrix) 方式在做运算,
而这二者在MATLAB的基本运算性质不 同,阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式。 而宣告一变数为阵列或是矩阵时,如果是要个别键入元素,须用中括号[ ] 将元素置于其中。阵列为一维元素 所构成,而矩阵为多维元素所组成,例如 x=[1 2 3 4 5 6 7 8] ;% 一维 1x8 阵列
x = [1 2 3 4 5 6 7 8; 4 5 6 7 8 9 10 11] ; % 二维 2x8 矩阵,以;区隔各列的元素
x = [1 2 3 4 5 6 7 8 % 二维 2x8 矩阵,各列的元素分二行键入
4 5 6 7 8 9 10 11] ;
» x(3) % x的第三个元素 ans = 2
第2章MATLAB算术运算初步
» x([1 2 5])% x的第一、二、五个元素 ans =
1 4 3 x(1:5)% x的第前五个元素 ans =
1 4 2 5 3 » x(10:end)% x的第十个元素后的元素 ans =
8 6 9 7 10 8 11 » x(10:-1:2)% x的第十个元素和第二个元素的倒排 ans =
8 5 7 4 6 3 5 2 4» x(find(x>5))% x中大于5的元素 ans = 6 7 8 6 9 7 10 8 11
» x(4)=100%给x的第四个元素重新给值 x =
第2章MATLAB算术运算初步
1 2 3 4 5 6 7 8 4 100 6 7 8 9 10 11 » x(3)=[]% 删除第三个元素 x =
Columns 1 through 12
1 4 100 3 6 4 7 5 8 6 9 7 Columns 13 through 15 10 8 11 » x(16)=1% 加入第十六个元素 x =
Columns 1 through 12
1 4 100 3 6 4 7 5 8 6 9 7 Columns 13 through 16
10 8 11 1 2 建立阵列
上面的方法只适用于元素不多的情况,但是当元素很多的时候,则须采用以下的方式:
» x=(0:0.02:1); % 以:起始值=0、增量值=0.0.2、终止值=1的矩阵 » x=linspace(0,1,100); % 利用linspace,以区隔起始值=0终止值=1之间的元素数目=100 »a=[]%空矩阵 a = []
» zeros(2,2)%全为0的矩阵 ans =
第2章MATLAB算术运算初步
0 0
0 0
» ones(3,3) %全为1的矩阵
ans =
1 1 1 1 1 1
1 1 1 » rand(2,4);随机矩阵
»a=1:7, b=1:0.2:5;%更直接的方式
»c=[b a]; %可利用先前建立的阵列 a 及阵列 b ,组成新阵列 » a=1:1:10; » b=0.1:0.1:1; » a+b*I%复数阵列 ans =
Columns 1 through 4
1.0000 + 0.1000i 2.0000 + 0.2000i 3.0000 + 0.3000i 4.0000 + 0.4000i
Columns 5 through 8
5.0000 + 0.5000i 6.0000 + 0.6000i 7.0000 + 0.7000i 8.0000 + 0.8000i
Columns 9 through 10
9.0000 + 0.9000i 10.0000 + 1.0000i
在MATLAB的内部资料结构中,每一个矩阵都是一个以行为主(Column-oriented)的阵列(Array)因此对於矩阵元素的存取,我们可用一维或二维的索引(Index)来定址
第2章MATLAB算术运算初步
子矩阵
通过一个矩阵产生另一个矩阵的方法(上面已经有例子) 假如一个矩阵A
则 A(m1:m2 ,n1:n2)
矩阵的运算
经典的算术运算符。
前面我们已经把经典的算术运算符告诉大家了,在这里同样也可以使用。
» a=1:1:10;
» a-b ans =
1 -8 -17 -26 -35 -44 -53 -62 -71 -80
» a.*b%注意这里a后加了个“.”
»
b=0:10:90; » a+b ans =
第2章MATLAB算术运算初步
0 20 60 120 200 300 420 560 720 900 » a/b ans =
0. 1158
» a\b
ans =
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 2 3 4 5 6 7 8 9 » b./a ans =
Columns 1 through 7
0 5.0000 6.6667 7.5000 8.0000 8.3333 8.5714
Columns 8 through 10
8.7500 8.8889 9.0000
第2章MATLAB算术运算初步
ans =
Columns 1 through 7
0 5.0000 6.6667 7.5000 8.0000 8.3333 8.5714
Columns 8 through 10 8.7500 8.8889 9.0000 » a.^2 ans =
1 4 9 16 25 36 49 64 81 100 说明:在这里特别要注意一下有没有加点“.”之间的区别,这些算术运算符所运算的两个阵列是否需要长度一致。 矩阵转置运算
通过在矩阵变量后加’的方法来表示转置运算 ?a=1:1:10;
第2章MATLAB算术运算初步
?b=0:10:90; ?a' ans = 1 2 3 4 5 6 7 8 9
10 ?c=a+b*i; ?c' ans =
1.0000 2.0000 -10.0000i 3.0000 -20.0000i 4.0000 -30.0000i 5.0000 -40.0000i 6.0000 -50.0000i 7.0000 -60.0000i 8.0000 -70.0000i
第2章MATLAB算术运算初步
9.0000 -80.0000i 10.0000 -90.0000i
矩阵函数
MATLAB常用数学函数
这些数学函数一般都可以作为矩阵函数。 a=1:1:10; b=0:10:90; sin(a) exp(b)
求矩阵的长度的函数 ?a=[10,2,12;34,2,4;98,34,6]; ?size(a) ans =
3 3 ?length(a) ans =
3
好好的看一下两者之间的区别。 矩阵的几种基本变换操作
1. 通过在矩阵变量后加’的方法来表示转置运算 ?a=[10,2,12;34,2,4;98,34,6]; ?a'
第2章MATLAB算术运算初步
10 34 98 2 2 34
12 4 6 2. 矩阵求逆 ?inv(a) ans =
-0.0116 0.0372 -0.0015 0.0176 -0.1047 0.0345 0.0901 -0.0135 -0.00453. 矩阵求伪逆 ?pinv(a) ans =
-0.0116 0.0372 -0.0015 0.0176 -0.1047 0.0345 0.0901 -0.0135 -0.00454. 左右反转 ?fliplr(a) ans =
12 2 10 4 2 34 6 34 98 5. 矩阵的特征值 ?[u,v]=eig(a)
第2章MATLAB算术运算初步
-0.2960 0.3635 -0.3600 -0.2925 -0.4128 0.7886 -0.9093 -0.8352 0.4985 v =
48.8395 0 0 0 -19.8451 0 0 0 -10.9943 6. 上下反转 ?flipud(a) ans =
98 34 6 34 2 4
10 2 12 7. 旋转90度 ?rot90(a) ans =
12 4 6 2 2 34
10 34 98 8. 取出上三角和下三角 ?triu(a) ans =
10 2 12
第2章MATLAB算术运算初步
0 2 4 0 0 6 ?tril(a) ans =
10 0 0 34 2 0
98 34 6
字符串的基本操作
在matlab工作空间中,字符串是以向量形式来存储的,我们把用’’所包含的内容来表示该字符串。 ?s='student' s = student
字符串也可以作为矩阵来连接。 ?s1='who' s1 = who ?s=[s,s1] s = studentwho 求字符串的长度 ?length(s)
第2章MATLAB算术运算初步
ans =
10 ?size(s) ans =
1 10
字符串函数
abs 字符串到ASCII转换 dec2hex 十进制数到十六进制字符串转换 fprintf 把格式化的文本写到文件中或显示屏上 hex2dec 十六进制字符串转换成十进制数 hex2num 十六进制字符串转换成IEEE浮点数 int2str 整数转换成字符串 lower 字符串转换成小写 num2str 数字转换成字符串 setstr ASCII转换成字符串 sprintf 用格式控制,数字转换成字符串 sscanf 用格式控制,字符串转换成数字 str2mat 字符串转换成一个文本矩阵 str2num 字符串转换成数字 upper 字符串转换成大写 eval(string) 作为一个MATLAB命令求字符串的值 blanks(n) 返回一个n个零或空格的字符串 deblank feval findstr isletter isspace isstr lasterr strcmp strrep
去掉字符串中后拖的空格 求由字符串给定的函数值 从一个字符串内找出字符串
字母存在时返回真值 空格字符存在时返回真值 输入是一个字符串,返回真值 返回上一个所产生MATLAB错误的字
符串
字符串相同,返回真值
用一个字符串替换另一个字符串 在一个字符串里找出第一个标记
第2章MATLAB算术运算初步
这里函数num2str用来把数值转换成字符串,字符串连接用来把所转换的
数嵌人到一个字符串句子中。按类似方式,int2str把整数转换成字符串。无论是num2str还是int2str都调用函数sprintf,它用类似C语言语法把数值转换成字符串。请注意函数str2num不能接受用户定义的变量,也不能执行转换过程的算术运算。 ?s='he is a student'; ?a=abs(s) a =
Columns 1 through 12
104 101 32 105 115 32 97 32 115 116 117 100
Columns 13 through 15 101 110 116 ?num2str(a) ans =
104 101 32 105 115 32 97 32 115 116 117 100 101 110 116
?int2str(s) ans =
104 101 32 105 115 32 97 32 115 116 117 100 101 110 116
函数disp允许不打印它的变量名而显示一个字符串。 ?disp(s) he is a student
函数find用来找出小写字符的下标值,然后,从小写元素中只减去小写与
大写之差,最后,用setstr把求得的数组转换成它的字符串表示。 ?find(s>'m')
第2章MATLAB算术运算初步
ans =
5 9 10 11 14 15
函数input能输入一个字符串: x=input(' Enter anything > ',' s ') 。
这里,在函数input里的附加参量’s’告诉MATLAB,作为一个字符串,只要把用户输入传送到输出变量,就不需要引号。事实上,如果将引号包括进去,它们就变成返回字符串的一部分。 无论fprintf还是sprintf以同样方式处理输入参量,但fprintf把输出
送到显示屏或文件中,而sprintf把输出返回到一个字符串中。 函数feval与eval类似,但在用法上有更多的限制。feval(' fun ',x)求
由字符串' fun '给定的函数值,其输入参量是变量x。即feval(' fun ',x)等价于求fun(x)值。函数eval,feval的基本用途限在用户创建的函数内。一般地,feval可求出有大量输入参量的函数值,例如,feval(' fun ', x, y, z) 等价于求fun(x, y, z)值。 ?feval('sin',s) ans =
Columns 1 through 7
-0.3216 0.4520 0.5514 -0.9705 0.9454 0.5514 0.3796
Columns 8 through 14
0.5514 0.9454 0.2367 -0.6897 -0.5064 0.4520 -0.0442 Column 15
0.2367
?eval('sin(s)') ans =
Columns 1 through 7
-0.3216 0.4520 0.5514 -0.9705 0.9454 0.5514 0.3796
Columns 8 through 14
正在阅读:
第2章MATLAB算术运算初步05-24
2016-2022年中国绝缘子市场发展态势深度调研与发展前景预测报告03-15
食品药品领域违法犯罪相关人员将实行从业禁止、终身禁业07-30
2012-2016民诉法12-07
困难学生帮助措施03-15
我家的泰迪狗作文600字07-07
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 算术
- 运算
- 初步
- MATLAB
- ERP 物理沙盘实验报告
- 2013年职业经理人考试:CCMC与MBA的区别每日一讲(9月12日)
- 不确定性分析与风险分析(教案)
- 交换机配置命令大全
- 2络合物组成和不稳定常数的测定-----等摩尔系列法
- 房地产建筑外立面研究
- II类(市级I类) 加强心理治疗,减轻心理压力
- 河北省唐山一中2013届高三强化训练(二)
- 怎样学习水暖电安装预算
- 数据库系统概论试题及答案9
- 1.1阅读理解(热点题型)&183;数学中考分类精粹
- 欧洲宗教改革的历史背景
- 在仓库管理中,你还在用人盯人的方式做管理吗【仓库管理】
- 如何清洗发动机冷却系统水垢
- 大学生心理健康与个人成长论文
- 制作简单的幻灯片
- 中国医疗质量与患者安全
- 公务员考试公共基础模拟卷及答案五一
- ERP---采购作业流程
- 风电场发电功率预测和系统