在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、基本语法1. 定义变量a = [1,2;3,4] (同行用 空格或逗号连接,不同行用分号连接) -->a = 1 2 3 4 b = [1:5] ( :运算符的语法 起点:步长:终点, ps:这个矩阵包含起止点)--->b 1 2 3 4 5 c = [0:pi/4:pi] x = [b;c] %由同维度的b和c生成新的矩阵x y = zeros(1,5)%第一个参数是行,第二个参数是列 z = ones(5,1)%同上 2.读取矩阵中的元素A =[1:3;4:6;7:9] A(2,3) --->6 A(2,:)--->4 5 6 %读取第二行 A(:,3)---> 读取第三列 A(1:2;3:4)--->读取矩阵的一部分:第1、2行的第3、4列 A(1,end-2:end-1)%注意这里不能越界 end-i>=1 A([3,1],[3,2]) % 需要明确matlab取元素的顺序,即先取出A的第三、一行,然后截取第三、二列。 3. 删除矩阵中的元素--整行 整列是基本操作单位,不能删除某特定位置的元素 A(3,:) = [] %第三行置空 A(:,3) = []% 第三列置空 4. 矩阵运算1)整个矩阵、某行|列、某位置 A = A+10% 所有元素都加10 A(2,:) = A(2,:) +10 %第二行所有元素都加10 A(2,3) = A(2,3)+10% 第二行第三列元素加10 2) 串行化 A(:) %先列后行,==》注意这个问题,和C里先行后列的存放模式不一样 A(:,:)% 不发生变化 find(A>5) %默认进行了串行化,输出的结果是串行化后元素的索引 B = A>5 %没有进行串行化,输出的是一个逻辑矩阵 3)改变matrix的shape reshape(A,m,n) % 将矩阵按列方向进行重组 ===>由此可见,matlab中元素的存储方式是先列后行。 matlab只是基于A中的元素在内存中重新生成了一个元素,并没有对A本身进行操作。 m*n必须与A中元素个数相一致。
4)获取矩阵的尺寸信息 size(A)==>输出m和n size(A,1)-->输出m size(A,2)-->输出n length(A) = max(size(A)) length(X) 返回vector X的长度 5) 矩阵的加减乘除 C =A + B C = A-B C= A*B %这些操作都是代数意义上的矩阵的操作,因此A和B的大小必须满足操作要求,比如乘法A*B,A的列数必须和B的行数相等。 C = A.*B 则表示A和B对应位置的元素相乘。 C = A.' 表示A的转置函数 二、结构体struct1. 定义 var_name = struct(‘key1’,value,'key2',value2); %注意加上这个关键字,默认“成双成对”,否则报错;keyi 必须是字符串或非空字符向量 var_name.key3 = value3;%向var_name中添加新的键值对 2.引用 var_temp = var_name.key1 %读取某个key对应的value 三、matlab绘图plot(x,y) plot3(x,y,z) x= x(t), y = y(t) z=z(t) 四、matlab编程1.脚本引用matlab所有的命令可以编写并存放在.m文件中,以待后期调用,调用方式为: 脚本文件名称 %本人使用的是matlab2018版,调用脚本的时候不用使用Script,且不需要添加脚本文件的后缀.m 2.函数引用1)函数定义 function 输出参数列表 = 函数名(输入参数列表) (1)一个函数文件可以包含一个主函数和若干个子函数, (2)主函数名称必须和文件名字相同,且必须位于文件开头; (3)子函数放在主函数之后,且子函数被函数文件内部的主函数和其他子函数调用,不可被其他文件调用。 (4)除非变量用关键字global修饰,否则均视为局部变量。 2)函数调用 变量 = 函数文件名(形参) |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论