matlab赋值运算符等号

matlab赋值运算符等号

觉得有用的话,欢迎一起讨论相互学习~

我的微博我的github我的B站

赋值可以给size不同的矩阵

  • matlab独特之处在于矩阵的处理,即使两个矩阵的维度不同,但是只要元素数量相同,则可以将B赋值给A。甚至A的维度也可以变得和B相等。
a=[1,2,3]
b=[11;22;33]

a=b
% 连size都变化了
%% a =
%
%      1     2     3
%
% b =
%
%     11
%     22
%     33
%
% a =
%
%     11
%     22
%     33

注意size的变化

  • 此时会发现,不仅仅是a中的元素,甚至a的shape也被改变了,为了在赋值的时候不改变a的shape,将b中的元素依次赋值到a中。
% 如果想要只要变数值而不变化size,可以采用按元素赋值
a1=[1,2,3]
b1=[11;22;33]
a1(1,:)=b1(:,1)
% a1 =
%
%      1     2     3
%
%
% b1 =
%
%     11
%     22
%     33
%
%
% a1 =
%
%     11    22    33

赋值

  • 赋值仅仅只是赋值,而不是复制,即A=B后,修改A中的元素,并不会引起B中元素的变化,这和python中的赋值是不一样的。
a2=[1,2,3]
b2=a2
b2(1)=5
a2% 这里发现a2的值并没有变化
% a2 =
%
%      1     2     3
%
% b2 =
%
%      1     2     3
%
% b2 =
%
%      5     2     3
%
% a2 =
%
%      1     2     3
posted @ 2020-04-15 20:18  WUST许志伟  阅读(1599)  评论(0编辑  收藏  举报