首页 >> 大全

Matlab中的矩阵运算

2023-09-17 大全 22 作者:考证青年

目录 中如何提取矩阵中指定位置的元素?size()函数remat()函数中的矩阵运算中求特征值和特征向量find()函数矩阵与常数的大小判断判断语句

基本知识入门

笔记大部分由观看【强烈推荐】清风:数学建模算法、编程和写作培训的视频课程整理出:

视频链接:

基本的小常识 基础知识 在每一行的语句后面加上分号(一定要是英文的),表示不显示运行结果

a = 3;
a = 5

多行注释:选中要注释的语句,快捷键Ctrl+R

①取消注释:选中要取消的注释语句, 快捷键Ctrl+T

②clear 可以清除工作区的所有变量

③clc 可以清除命令行窗口的所有文本,让屏幕变得干净。

所以很多代码开头都有clear;clc

分号也用于区分行,这两条一起使用,起到初始化的作用,防止之前的结果对脚本文件(后缀名是.m)产生干扰

输出和输入函数(disp和input)

% 一般我们会将输入的数、向量、矩阵、字符串等赋给一个变量,这里我们赋给A
A = input('请输入A:');
B = input('请输入B:')
% 注意观察工作区,并体会input后面加分号和不加分号的区别

(str1,str2…,strn)

(‘字符串1’,‘字符串2’)

中间一定要用英文逗号隔开!

[str 1,str 2,…str n]或者[str1 str2 str3 … strn ]

矩阵运算matlab函数__matlab中矩阵运算符

借用向量的表示形式,中间可以用逗号或者空格!

c = 100
num2str(c)
disp(['c的取值为' num2str(c)])
disp(strcat('c的取值为', num2str(c)))

sum函数

如果是向量(无论是行向量还是列向量),都是直接求和

E = [1,2,3]
sum(E)
% E = 6
E = [1;2;3]
sum(E)
% E = 6

如果是矩阵,则需要根据行和列的方向作区分

clc
E = [1,2;3,4;5,6]
%维度 dim = 1表示按照列 dim = 2表示按照行 默认dim = 1
% a=sum(x); %按列求和(得到一个行向量)
a = sum(E)
a = sum(E,1)
% a=sum(x,2); %按行求和(得到一个列向量)
a = sum(E,2)
% a=sum(x(:));%对整个矩阵求和
a = sum(sum(E))
a = sum(E(:))

中如何提取矩阵中指定位置的元素?

取指定行和列的一个元素(输出的是一个值)

A=[1 1 4 1/3 3;1 1 4 1/3 3;1/4 1/4 1 1/3 1/2;3 3 3 1 3;1/3 1/3 2 1/3 1];
A
A(2,1)
A(3,2)

取指定的某一行的全部元素(输出的是一个行向量)

clc;A
A(2,:)
A(5,:)

取指定的某一列的全部元素(输出的是一个列向量)

clc;A
A(:,1)
A(:,3)

取指定的某些行的全部元素(输出的是一个矩阵)

clc;A
A([2,5],:)      % 只取第二行和第五行(一共2行)
A(2:5,:)        % 取第二行到第五行(一共4行)
A(2:2:5,:)      % 取第二行和第四行 (从2开始,每次递增2个单位,到5结束)
1:3:10
10:-1:1
A(2:end,:)      % 取第二行到最后一行
A(2:end-1,:)    % 取第二行到倒数第二行 

取全部元素(按列拼接的,最终输出的是一个列向量)

clc;A
A(:)

size()函数

size()函数是用来求矩阵A的大小的,他返回一个行向量,第一个元素是矩阵的行数,第二个元素是矩阵的列数

%中间有分号,是矩阵
A = [1,2,3;4,5,6]
%中间没有分号,是向量
B = [1,2,3,4,5,6]
size(A)
size(B)

remat()函数

B = (A,m,n):将矩阵A复制m×n块,即把A作为B的元素,B由m×n个A平铺而成。

A = [1,2,3;4,5,6] 
B = repmat(A,2,1)
B = repmat(A,3,2)

中的矩阵运算

在矩阵的运算中,“”号和“/”号代表矩阵之间的乘法与除法(A/B = A*inv(B))

A = [1,2;3,4]
B = [1,0;1,1]
A * B
inv(B)  % 求B的逆矩阵
B * inv(B)
A * inv(B)
A / B

中求特征值和特征向量 E= eig(A):求矩阵A的全部特征值,构成向量E[V,D] = eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。(V的每一列都是D中与之相同列的特征值的特征向量) find()函数

它可以用来返回向量或矩阵中不为0的元素的索引。

X = [1 0 4 -3 0 0 0 8 6]
ind = find(X)

ind = find(X,2)

X = [1 -3 0;0 0 8;4 0 6]
ind = find(X)
%这是因为Matlab在储存矩阵的时候,是一列一科进行储存的。

%用两个变量接收
[r,c] = find(X)
[r,c] = find(X,1) %只找第一个非0元素

矩阵与常数的大小判断

X = [1 -3 0;0 0 8;4 0 6]
%返回的是相同大小的逻辑数组
X > 0
X == 4

判断语句

的判断语句,if所在的行不需要冒号,语句的最后一定要用end结尾;中间语句要注意缩进。

a = input
if a >= 85  disp('成绩优秀')
elseif a >= 60 disp('成绩合格')
elsedisp('成绩挂科')
end

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了