1、变量和赋值:在Matlab中,可以使用任意名称来定义变量,并使用等号将值赋给变量。例如,x = 10 将值10赋给变量x。
2、数值运算:Matlab支持各种数值运算,包括加减乘除、指数运算、取余等。例如,x + y表示x和y的和,x * y表示x和y的乘积。
3、数组和矩阵:Matlab有强大的数组和矩阵操作功能。可以使用方括号来创建数组和矩阵,用逗号或空格分隔元素。例如,A = [1, 2, 3; 4, 5, 6]创建了一个2行3列的矩阵A。
4、索引和切片:可以使用索引和切片来访问数组和矩阵中的特定元素或子集。索引从1开始,使用圆括号来指定索引位置。例如,A(1, 2)表示矩阵A的第一行、第二列的元素。
5、条件语句:Matlab支持条件语句,可以根据条件的真假执行不同的操作。常用的条件语句有if-else和switch-case。
6、循环语句:Matlab提供了多种循环语句来重复执行特定的操作。常用的循环有for循环和while循环。
7、函数定义和调用:在Matlab中,可以自定义函数并在需要的时候进行调用。函数定义使用function关键字,调用函数时使用函数名加上括号。例如:
这些是Matlab最常用的基础语法,通过掌握这些语法规则,你将能够在Matlab中进行各种数值计算、数据处理和模型建立等任务。希望这些简单的解释对你理解Matlab基础语法有所帮助!
基本的概念
写注释一般是用%,后面直接写注释,不会影响代码的运行
%hello world
两个清空clear是把所有清楚所有的变量;clc是屏幕所有的额内容,但是变量不变
变量赋值这里的赋值就是把名字写出来,然后用等号直接给数字
Matlab=66.66
Matlab =
66.66
字符串把想要用的句子用引号扩起来
a='hello world'
a =
hello world
矩阵和数组
因为Matlab是一款与数学密切相关的软件,矩阵和数组可以说是Matlab的特色,也是其核心功能之一。Matlab提供了强大的矩阵和数组操作能力,使得数学计算和数据处理变得更加高效和便捷。
在Matlab中,可以轻松地创建和操作多维矩阵和数组。矩阵和数组不仅可以存储数值数据,还可以存储其他类型的数据,如字符、逻辑值等。Matlab提供了许多内置函数和运算符,用于对矩阵和数组进行各种操作,包括加法、乘法、转置、索引等。这些功能使得Matlab成为处理大规模数据集和进行复杂数学计算的理想工具。
矩阵和数组在Matlab中的应用非常广泛。例如,在线性代数中,可以使用矩阵来表示线性方程组,并使用Matlab的求解器来求解方程组的解。在信号处理中,可以使用数组来表示音频、图像等数据,并使用Matlab提供的函数进行处理和分析。此外,矩阵和数组还可以用于统计分析、机器学习、数值计算等领域。
由于Matlab与数学的密切结合,矩阵和数组成为了Matlab编程中重要的数据结构。对于使用Matlab进行科学计算、数值模拟和数据分析的工程师、科学家和研究人员来说,掌握矩阵和数组的操作是必不可少的基础知识。因此,在编写Matlab代码时,合理地利用矩阵和数组,可以提高代码的效率和可读性,使得数学计算和数据处理更加简洁和优雅。
数组简单来水外面一个中括号,元素间用,隔开,想要分行用;来实现
%数组
a=[1,2,3,4,5,6]
a =
1 2 3 4 5 6
a=[1,2,3;4,5,6]
a =
1 2 3
4 5 6
%上面这个叫结构数组,这里补充一个细胞数组,他可以把不同的数据类型放在一起
a={
[1,2,3,4],'good';33,'bad'}
a =
{
[1,1] =
1 2 3 4
[2,1] = 33
[1,2] = good
[2,2] = bad
}
矩阵矩阵是数学中常用的一个形式,Matlab中常用的有几个自动生成矩阵的方法记一下,其他的要用的时候查百度就可以的。% 创建矩阵
zeros(全零)、ones(全一)、eye(中间一两边零)、rand(随机)、randn(有负随机)
%矩阵
zeros(3,3)
ans =
0 0 0
0 0 0
0 0 0
ones(3,3)
ans =
1 1 1
1 1 1
1 1 1
eye(3,3)
ans =
1 0 0
0 1 0
0 0 1
rand(3,3)
ans =
0.8881 0.7350 0.8788
0.9488 0.5038 0.1468
0.6676 0.4057 0.6665
randn(3,3)
ans =
0.8830 0.2095 0.3280
0.5720 -1.0492 2.3335
0.2689 0.3328 -0.1323
索引运算如果想要知道矩阵中的某一个数组怎么做呢?就用在括号里写明白几行几列就可以的;如果想要提取第几行第几列就可以用:,2:4,1:3这个就表示2到4行,1到3列。如果是:表示所有行所有列
a = [1,2,3; 4,5,6; 7,7,8]
a =
1 2 3
4 5 6
7 7 8
a(1,2)
ans = 2
a(1:2,2:3)
ans =
2 3
5 6
a(1:2,:)
ans =
1 2 3
4 5 6
基本运算
简单的数运算
MATLAB不仅具有强大的矩阵和数组操作功能,还提供了简单的数运算能力。这些数运算操作可以在MATLAB中直接使用,无需创建矩阵或数组。
在MATLAB中,可以对数进行各种基本的数学运算,例如加法、减法、乘法和除法。这些运算可以用于任意两个数之间的计算,无论是整数、浮点数还是复数。
3+2
ans = 5
3*2
ans = 6
3/2
ans = 1.5000
3-2
ans = 1
3**2
ans = 9
矩阵的计算
矩阵简单的加减乘除求方
a=[1,2;3,4]
a =
1 2
3 4
a*3
ans =
3 6
9 12
a+a
ans =
2 4
6 8
a*a
ans =
7 10
15 22
a.*a
ans =
1 4
9 16
除此之外,还有几个常用的计算指令,比如说求和、倒置
m=[1,2,3;4,5,6;7,8,9]
m =
1 2 3
4 5 6
7 8 9
m=m'%倒置
m =
1 4 7
2 5 8
3 6 9
sum(m)%求每列的和
ans =
12 15 18
sum(m,2)%求每行的和
ans =
6
15
24
diag(m)%如果是对角线可以先用diag函数求出对角线
ans =
1
5
9
流程控制语句--选择、循环
选择结构
主要分为if和switch,重点是if,主要是由if、else、elseif、end组成的,表示如果符合条件就这么干,否则看下一步,下一个不行再看下个,所有都不行就不执行了。注意一定最后要用end结尾
%if
N=0.5
n=rand %随机生成一个数
if n < N
disp('aa')
elseif n< .3
disp('bb')
else
disp('cc')
end
%switch
switch 2
case 2
y=4
case 4
y=5
end
y =
2
循环结构
常用的有两种,for和while,就是重复做一件事,for是给定一个范围做超出就不做了;while是看给的条件,符合就做,不符合就不做,一般都是用end结尾的。
%求1+2+···+100,即从1加到100
s=0
for i= 1:100
s=s+i
end
s
s=
5050
%while
n=1
while n<10
n=n+1
end
n = 2
n = 3
n = 4
n = 5
n = 6
n = 7
n = 8
n = 9
n = 10
文件I/o
使用save/load
save用于保存文件,根据不同的指令可以把文件保存成为不同的格式
savefile =' pafile.mat';
p=rand(1,10);
q=ones(10);
save (savefile,'p','q')
load用于把数据重新载入
%把一个4列矩阵保存在ascii文件,然后把数据重新载入
a=magic(4);
b=ones(2,4) * -5.7;
c=[8,6,4,2];
save -ascii mydate.data a b c
clear a b c
load mydata.dat
读写文本
fopen打开文件
fscan从文件里读出数据
fprintf文件打开后进行的一个写操作,可以把东西写进文件里
fclose关闭文件
%
tempstr='78.F 72.F 64.F 66.F 49.F';%这个摄氏度的小圆圈我不会打,用.代替
fid=fopen('temperature.dat','w+');
fprintf(fid,"%s',tempstr);
%返回到文件头
%读取文件中的数据
frewind(fid);
degrees=char(176)
num_temps =fscanf(fid,['%d',degrees 'F'])
num_temps =
78
72
64
66
49
参考资料
精通Matlab科学计算与数据统计应用--赵彬、陈明等著
Matlab从入门到实践--谢龙汉、蔡思祺著
Matlab R2017b快速入门--过了即是客博文