MATLAB基础与矩阵操作:结构化编程实践

清空命令行:clc
清除变量:clear 变量名 / clear 全部清除
格式调整:format short/long/shortE/longE···

程序宕机:ctrl+c 立即停止

01基本操作与矩阵输入

一·矩阵向量定义([]为矩阵,{}为数组)

矩阵定义:

A = [1,2,3] 一行
A = [1;2;3] 一列
A = [1,2,3;4,5,6;7,8,9] 矩阵
A : 1 2 3
4 5 6
7 8 9

选取矩阵元素:

method:nth-child(1):
A(4) : 2

A([1,3,5]) : 1 7 5 从每列往下数 下标顺序为 1 4 7 2 5 8 3 6 9

A([1,3;1,3]) : 1 7 第一行: A(1) A(3)
1 7 第二行: A(1) A(3)

method:nth-child(2):
A(2,3) : 6

A([1,3],[1,3]) : 1 3 第一个参数是行,意思是第一行和第二行
7 9 第二个参数是列,意思是第一列和第二列
合起来就是第一行的第一列、第三列 和
第三行的第二列、第三列
用来取矩阵的角元素

A(3,:) : 7 8 9 第三行的所有

修改矩阵元素:

A() = 数 / A() = [] delete 整个row或column

矩阵合并:

A = [1,2;3,4]; B = [9,9;9,9]

F = [A,B] F:1 2 9 9
3 4 9 9

矩阵与实数的运算:

+,-,/ . ^ ‘(转置):
A’ : 以左上右下的对角线为对称轴,进行元素的翻转,对角线上不动
矩阵每个位置的元素都进行与实数的四则运算
./与/相等
A^a : A的a次方 A
A*A····是乘法运算 行列相乘
A.^a: A的每个位置的元素 都 a次方

矩阵的四则运算:

+,- :即相同位置的元素 进行运算
.* :相同位置的元素 进行运算
./ :相同位置的元素 进行运算

*:
1、用A的第1行各个数与B的第1列各个数对应相乘后加起来,就是乘法结果中第1行第1列的数;

2、用A的第1行各个数与B的第2列各个数对应相乘后加起来,就是乘法结果中第1行第2列的数;

3、用A的第1行各个数与B的第3列各个数对应相乘后加起来,就是乘法结果中第1行第3列的数;

依次进行,(直到)用A的第1行各个数与B的第末列各个数对应相乘后加起来,就是乘法结果中
第1行第末列的的数。

/ :同*

’ 矩阵转置

矩阵函数:

eye(n) : 形成一个n*n的矩阵除了左上右下对角线为1,其余元素为0
zeros(n1,n2) : 形成一个 n1行 n2列 全部为0的矩阵
diag([a1 a2 a3]) :形成一个对角线上为 a1 a2 a3的矩阵
rand(n1,n2) : 形成一个全部为随机数的 n1行 n2列 的矩阵
max(矩阵名): 每一个column最大值形成的一个数列
max(max(矩阵名)) : 矩阵中的最大值
min 同 max
sum(A) : 每一个 column的总和形成的一个数列 sum(sum(A))
mean(A) : 每一个 column的平均数形成的一个数列 mean(mean(A))

sort(A) : 对每一个column 进行从小到大的排序
sortrows(A) : 对每一个 row 进行从 小到大的排序,并且第一列也按照
小大排序,然后整行移动
size(A) : 得到一个n1 n2 指矩阵的行数和列数
length(A) : 矩阵的最大的行数或列数 行数大则最大行数,列数大则最大列数
find(A==n) : 得到矩阵A下标为 n的元素

等差级数的定义:

B = 1 : 5 B: 1 2 3 4 5

B = 1 : 2 : 5 B: 1 3 5

B = [1:5;2:3:15;0:0.5:2] B: 1 2 3 4 5
2 5 8 11 14
0 0.5 1 1.5 2
str = ‘a’:2:‘z’ str : ‘acegikmoqsuwy’

linspace(a1,a2,n) 形成从a1到a2的n个项的等差级数

二.结构化程式与自定函数

1.Script writing

%注释
%% 节 %%: 可以运行一节
断点 :debug 时可以在命令行窗口 查询断点的变量
disp() :相当于C语言print
tic 程序节 toc :输出该节程序执行的时间
… :换行 程序理解为同一行

2.Structured programming

变量不会被覆盖,需要clear 原来的变量
pre-allocate 节省时间
如果语句不加;则会在命令行窗口中disp
加;则不会在命令行窗口中disp

for i=1:3
    for j = 1:3
        B(i,j) = A(i,j);
    end
end
3.User-defined functions
  • 只能用做数字之间的运算
    .* 可以用来做vector的运算,进行矩阵相同位置的运算

function [返回值,返回值] = 函数名(参数)
函数体
end

4.Function handles 函数句柄

即匿名函数anonymousFunction

f = @(x) cos(x);
x = 0:pi/2;
plot(x,f(x));


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空