慕课matlab学习 第一章-04 -05 矩阵的运算表达形式

慕课matlab学习

第一章-04 -05



% matlab 基本运算
% 运算类型
% 1、算术运算
% 2、关系运算
% 3、逻辑运算


% 基本算术运算
% 加 减 乘 除(除法分为右除【/】和左除法【\】) 乘方【~% 注: matlab的算术运算是在矩阵意义下进行的
% 单个数据的算术运算只是矩阵运算的一种特例

% 加减运算
% 基本运算前提 : 两个矩阵同形,运算时两个矩阵对应的元素相加减
% 一个标量也可以进行加减运算,则此时把标量和矩阵的每一个元素进行加减运算

%乘法运算
%基本条件   A(m*n) * B(n*s) =C(m*s)即 A矩阵的列数和B矩阵的行数要相等才可运算


%除法运算
%矩阵除法运算分为两种 左除{\} 和右除{/}
%矩阵除法比较特殊,前提条件比较多
% 如果A矩阵时非奇异方阵 即  |A|!=0 ,也就是A矩阵可逆
% 则 B/A==B* inv(A)  解释: B矩阵右除A矩阵等价于 B矩阵右乘以 A的逆矩阵
% 则 B\A==inv(A)*B  解释: B矩阵左除A矩阵等价于 B矩阵左乘以 A的逆矩阵
% 左除和右除 分别表示是在 矩阵B上进行一个左乘或者右成一个逆矩阵,这个比较容易混淆


% eg 右除运算
A=[1,2,3;4,2,6;7,4,9]
B=[4,3,2;7,5,1;12,7,92]
C=B/A  %表示的是 B右除以A 等价于 B*inv(A)
inv(A)
D=B*inv(A) %由运算结果可以得到 C==D 两矩阵运算得到的结果是相等的


% eg 左除运算
A  % 打印矩阵A的值
B  % 打印矩阵B的值
E=A\B  %表示的是B左除以A   等价于 inv(A)*B  即 A的逆矩阵*B矩阵
F=inv(A)*B %可以看到,  E==F ,运算后两个矩阵是相等的
% 注:此时 A作为被除数,但是放置在左边,这个需要看一下


%  乘方运算
A=[1,2,3;4,5,6;7,8,0]
G=A^2
H=A*A % 乘法运算和我们普通的乘方运算时一致的


% 2、 点运算
%  点运算符号  【.*】【./】 【.\】 和【.^】共四种点运算符
%  特点:点运算的两个矩阵必须时同行矩阵 ,且是【点对点】进行运算
%  eg: 区分点乘 和乘法运算的区别
A=[1,2,3;4,5,6;7,8,9]
B=[-1,0,1;1,-1,0;0,1,1]
C=A.*B %这个是点乘运算
D=A*B %这个是矩阵的乘法运算


%点运算的应用
%当 x=0.1 0.4 0.7 1 时, 求 y=sinx cosx 的值
x=0.1:0.3:1  % 起始端 0.1 终止端 1 每次步长 0.3 ,这样生成的是一个一维向量
y=sin(x).*cos(x) % 要用点乘运算才可以进行运算,不然直接用乘法会报错,因为X是一个向量
%y=sin(x)*cos(x) % 会报错, sin(x)是一个 1*4 的矩阵  cos(x)也是 1*4的矩阵,两个这样的矩阵是无法进行矩阵乘法运算的

%关系运算
%关系运算符 :【<】  【<=】 【>】  【>=】 【==】  【~=】  注:【~=】是不等于的意思,其余和C语言是一致的

%关系运算比较
% 两种 : 矩阵关系运算比较 和  标量比较
% 矩阵关系比较  逐一比较,放回的是一个与原矩阵同型的矩阵 ,里面由 01两个元素组成
% eg
A=[1,2,3;4,5,6;7,8,9]
B=[-1,0,7;1,-1,0;88,12,1]
C=A>B %返回的是A和B比较后的 由01 组成矩阵
% 标量关系比较,此时比较后得到的是 01的元素
% eg
a=3
b=5
c=a<b %返回的是一个 0或者1的标量

%eg 建立3阶方阵A,判断A的元素是否为偶数
A=[24,35,13;22,63,23;39,47,80]
P=rem(A,2)==0 % A矩阵取余2以后,判断矩阵里面的值是否为偶数


% 逻辑运算  【&】  【|】 【~】 与 或 非 
% 分为 标量逻辑运算 和矩阵逻辑运算
% 1、标量的逻辑运算 
flaf=0&4
% 2、矩阵逻辑运算 找水仙花数
m=100:1:999;
m1=rem(m,10);%个位
m2=rem(fix(m/10),10);%十位
m3=fix(m/100);%百位
%由上可知 m1 m2 m3 和 m 都是同长度的向量
k=find(m==m1.*m1.*m1+m2.*m2.*m2+m3.*m3.*m3) %这里输出的是向量的序号,类似于C语言一维数组的地址
s=m(k) %打印以为向量的地址




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值