Matlab基础教程
Matlab 基础教程
教程⽬录
零碎知识
1.语句后⾯加上“;”不显⽰输出
2.ans代表最近⼀个输出结果
3.clc清除所有的命令⾏窗⼝中的命令
4.clear清除⼯作区中所有变量
5.doc 函数名查函数帮助⽂档
6.help 函数名调⽤函数简易帮助
7.退出 MATLAB 后,⼯作区变量不会保留。使⽤ save 命令保存数据以供将来使⽤,save myfile.mat
通过保存,系统会使⽤ .mat 扩展名将⼯作区保存在当前⼯作⽂件夹中⼀个名为 MAT ⽂件的压缩⽂件中。
8.使⽤ load 将 MAT ⽂件中的数据还原到⼯作区。load myfile.mat
9.%后⾯是注释
10.format函数可以控制显⽰的数字格式,但是不会影响真实值
<为续⾏符
运算符
符号⾓⾊
==等于
~=不等于
>⼤于
<⼩于
>=⼤于等于
<=⼩于等于
&&逻辑与
||逻辑或
~逻辑⾮
算数运算符:
符号⾓⾊
*乘法
+加法
-减法
/除法
^乘⽅
数据类型
数组
Matlab的数组和Python类似,都是多维数组,但常⽤的就是⼀维数组和⼆维数组,以下均是在⼀维和⼆维数组上讨论问题。
数组创建
1.直接创建
x=[1,2,3,4;3,4,5,6] %逗号⾏和⾏的元素进⾏分隔,分号是列与列元素分隔
2.函数⽣成
常⽤函数linspace()⽣成
zeros()⽣成全为0的数组、eye()⽣成对⾓阵、ones()⽣成全为1的数组。
数组索引
Matlab多维数组中,第⼀个元素标号是1⽽不是0.
A =4×5
1623130
5111080
976120
41415117
A(4,5)=17linspace函数python
A(1:3,2)=[2,11,7]'
单独的冒号表⽰指定该维中的所有元素,与python索引不同的是,matlab切⽚操作两边都是闭区间,⽽python遵从左闭右开原则。matlab不能⽤负数作为索引值。
对超出数组区域复制会让数组直接扩容,并对没有赋值的地⽅补充上0。
数组运算
数组和标量运算是逐元素操作。
数组与数组之间的运算(+,-,*,/,\,^)均为矩阵运算,运算符前⾯加⼀个"."表⽰逐元素运算。
函数作⽤于数组,如果不是特定的对数组作⽤的函数,则默认是逐元素操作,如数学函数cos(),sin()。
数组操作
a’表⽰数组a转置
串联数组:⽤⽅括号将两个数组括起来就实现了数组的串联。
A=[a,b]表⽰横向拼接
A=[a,b]表⽰纵向拼接
删除数组中的元素,只需要另这⼀个位置的元素赋值为[ ]即可
数组⽣成
冒号⽮量⽣成x=[start:step:end],包括start, 从start出发,⼀直增加step,直到⼩于等于end为⽌。
常⽤函数
函数功能
sum()求和
mean()平均值
det()⾏列式
prod()返回数组的连乘
mod()取余
readmatirx()从⽂件中读取数组
函数功能
writematrix()保存数组
还有⼀些线性代数的常⽤函数,详见帮助⽂档。
复数
复数⽤i或j表⽰根号负⼀,6i,7j是合法的,可以省略*
常⽤函数
常⽤函数功能
conj()返回共轭复数
complex()创建复数
imag()返回虚部
real()返回实部
内置常量
列出⼏种常见的常量的功能
常量功能
inf正⽆穷⼤
pi圆周率
浮点数
浮点数不⽤多说了,声明的数值都是浮点数的形式。
字符串
单引号括起来就够了。
程序设计
M⽂件
实时脚本
实时脚本具有更强的交互性
⽤编辑器中的新建可以建⽴实时脚本,还可以选择把⼀些注释内容转化为纯⽂本格式,这样增强程序的可读性。程序控制
循环结构
for循环
for变量=⼀维数组
执⾏语句,执⾏语句……
end
例如:
for i=linspace(1,10,10)
z=z+i;
end
while循环
while表达式
执⾏语句
end
表达式为真则继续执⾏执⾏语句,执⾏到假为⽌
选择结构
if rem(a,2)==0
disp('a is even')
b = a/2;
end
以上这个例⼦说明,if后⾯的判断条件为真,则执⾏if和end之间的语句。
if a <30
disp('small')
elseif a <80
disp('medium')
else
disp('large')
end
含有else和elseif如上,其意已现,注意每⼀个if对应⼀个end
接下来是switch的⽤法
switch dayString
case 'Monday'
disp('Start of the work week')
case 'Tuesday'
disp('Day 2')
case 'Wednesday'
disp('Day 3')
case 'Thursday'
disp('Day 4')
case 'Friday'
disp('Last day of the work week')
otherwise
disp('Weekend!')
end
注意每⼀个switch对应⼀个end
转向控制
break语句
break 跳出当前循环
continue语句
continue直接进⼊下⼀次循环
pause语句
pause表⽰暂停程序的运⾏,⽤户按Enter键之后继续
pause(n)表⽰暂停n秒之后继续

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。