matlab eig函数_心心念念的matlab基础及入门来啦!
matlab基础及入门②
我们都是突然长大。那个瞬间,在无可挽回的事实前,学会了从容不迫;在大势所趋时,学会了不动声色。开始保守地给予,迅速地放弃,游刃有余地周旋。在那些众口一辞的节日里,将最好的情感夹杂在寻常祝福中,试图蒙蔽隐秘的初衷。——姬霄
课程回顾上节课主要学习了matlab的简介及用户界面的认识,感受了matlab强大的魅力,这节课的福利继续来喽!
本节课的学习目标是...1.命令窗口简介
2.最简单的计算器使用方法
3.数值、变量和表达式
1命令窗口简介可在命令行窗口编写命令,‘enter’键执行命令;左下角工作区间,上面是当前文件夹
2最简单的计算器使用方法直接输入需要计算的,然后回车键即可,需注意以下几点:
01>>是自动生成;
02+、-、*、/都是常用的习惯符号,表达式中的pi表示π;sqrt表示根号;
03一条命令输入结束后,必须按enter键,才能被执行;
另外,续航输入法可用3个或3个以上的连续黑点表示表示;如果用户不用clear命令清除它,或对它重新赋值,那么该变量会一直保存在工作内存中,直到本MATLAB命令窗被关闭为止
运行结果显示如图:
3数值、变量和表达式 0 1数值的记述
01
(1)变量赋值--数值计算的前提。
即参与运算的所有变量必须是已被赋值的
0 2输入数值的M码表述。
数值最常用“带正负号和小数点的十进制数”记述;这种十进制浮点数可采用e表示,如图:
02变量命名规则
0 1(1)变量名、函数名是对字母大小写敏感。
如变量myvar和MyVar表示两个不同的变量。
sin是MATLAB定义的正弦函数名,但SIN、Sin等都不是。
(2)变量名的第一个字符必须是英文字母,后面可接字母、数字、下划线,最多可包含63个字符。如 myvar201是合法的变量名。
0 3(3)变量名中不得包含空格、标点、运算符,但可以包含下连符。
如变量名my_var_201是合法的,且读起来更方便。而my,var201由于逗号的分隔,表示的就不是一个变量名。
(4)用户定义变量名的两个忌讳:
■用户变量名不应与MATLAB关键词(如for,if/else,end等)同名。
■用户变量名尽量不与MATLAB自用的变量名(如eps,pi等)、函数名(如sin,eig等)文件夹名(如rtw、 toolbox等)相同。
(5)为帮助用户判断所定义变量名(如 UserName)是否与MATLAB关键词相同,是否与MATLAB自用变量名、函数名、文件夹名相同,可借助如下两个命令进行检验则具体的检验操作如下:
检验 VarName是否关键词的运行命令:iskeyword VarName
若运行结果为0,表示不同于MATLAB关键词。
检验VarName是否MATLAB自用变量名、函数名、文件夹名的运行命令exist VarName
若运行结果为0,表示不同于MATLAB自用变量名、函数名、文件夹名。
变量的管理
01>> who您的变量为:
a b
>> whos
输出结果默认地采用format short 格式显示出5位有效数字;用户根据需要,可以在MATLAB指令窗中,直接输入相应的指令,或者在菜单弹出框中进行选择,都可获得所需的数值计算结果显示格式。
04运算符和表达式
01matlab的运算符:
注①数组运算的“乘、除、幂”规则与相应矩阵运算根本不同。前者的算符比后者多一个“小黑点”。
②用左斜杠或右斜杠分别表示“左除”或“右除”运算。对标量而言,“左除”和“右除”的作用结果相同。但对矩阵来说,“左除”和“右除”将产生不同的结果。
③MATLAB书写表达式的规则与“手写算式”几乎完全相同。
④书写表达式时,赋值符“=”和运算符两侧允许有空格,以增加可读性。
05面向复数设计的运算
0 4MATLAB的所有运算都是定义在复数域上的,虚数单位用预定义变量 i 或 j 表示。
02复数的表示方法:
(1)经典教科书的直角坐标表示法
(2)采用运算符构成的直角坐标表示法和极坐标表示法
(3)复数的实虚部、模和幅角计算
注%在一个物理行中,允许输入多条指令。%但各指令间要用“分号”或“逗号”分开。
%指令后采用“分号”,使运算结果不显示。%实现复数运算,不需要对实部、虚部分别进行。06
面向数组设计的运算
01在MATLAB中,标量数据被看作1×1的数组(Array)数据。所有的数据都被存放在适当大小的数组中。
(1)数组运算
(2)矩阵运算
注分行输入法:
在这种输入方法中,“回车”符用来分隔数组中的行。
AI=[5,7
6,8]
二维数组输入的三大要素:
①数组标识符“[ ]”;
②元素分隔符空格或逗号“,”;
③数组行间分隔符分号“;”或“回车键”。
④所有标点符号都是“英文状态的符号”。
例1,对复数数组进行求实部、虚部、模和幅角的运算。
(1)创建复数数组AR=[1,3;2,4];AI=[5,7;6,8];
A=AR-AI*i
A =
1.0000 - 5.0000i 3.0000 - 7.0000i
2.0000 - 6.0000i 4.0000 - 8.0000i
(2)求复数数组的实部和虚部A_real=real(A)
A_image=imag(A)
A_real =
1 3
2 4
A_image =
-5 -7
-6 -8
(3)求复数数组中各元素的模和幅角——循环法for m=1:2
for n=1:2
Am1(m,n)=abs(A(m,n));
Aa1(m,n)=angle(A(m,n))*180/pi; end
endAm1,Aa1
Am1 =
5.0990 7.6158
6.3246 8.9443
Aa1 =
-78.6901 -66.8014
-71.5651 -63.4349
(4)求复数数组中各元素的模和幅角——直接法Am2=abs(A)
Aa2=angle(A)*180/pi
Am2 =
5.0990 7.6158
6.3246 8.9443
Aa2 =
-78.6901 -66.8014
-71.5651 -63.4349
【注意】
①函数real, imag, abs, angle是同时、并行地作用于数组的每个元素。对4个元素运算所需的时间大致与对单个元素所需时间相同。这有利于运算速度的提高。这是“向量化”运算的一种形式。
②记住:对于MATLAB来说,应该尽量摒弃“循环”处理,而采用“向量化”处理方式。
本节课内容有点多,这也是大家初次比较实际性的操作matlab,相信很明显地感受到matlab的不易之处,但困难是要克服的,而不是假装看不见。就这样,咱们下期再见!
END
扫码关注最新动态小R在这里等你你点的每一个赞,我都当成了喜欢♥