zoukankan      html  css  js  c++  java
  • matlab 给某一列乘上一个系数

    矩阵M是一个 mxn 的矩阵,现在要给M矩阵的第一列都要乘上10,使其第一列扩大10倍,那肿么做呢?

    我第一时间用的是:

    M(:,1) = M(:,1)*10; //错误的

    但是这个错了,结果是不对的

    这里要用点乘才行,所以正确的写法是:

    M(:,1) = M(:,1).*10;  // 正确写法

    这里要明白矩阵乘积与矩阵点乘(对应位相乘)的区别

    矩阵乘法要求左矩阵的行数与右矩阵的列数相等,即MxN维矩阵乘以NxM维矩阵

    例:A=[1 1 1;2 2 2]  B=[3 3;4 4;5 5]

    MATLAB语句:A*B

    >> c = A*B
    c =
        12    12
        24    24

    矩阵点乘要求两矩阵维数相等,即MxN维矩阵乘以MxN维矩阵【矩阵点乘积就是 对应位相乘】

    例:A=[1 1 1;2 2 2]   B=[3 3 3;4 4 4]

    MATLAB语句:A.*B

    >> d = A.*B
    d =
         3     3     3
         8     8     8

  • 相关阅读:
    echarts动态设置主体颜色
    spring security session
    Spark RDD函数:
    MapReduce TOP n
    feign 使用示例
    trie树
    动态修改注解(annotation)值
    golang插件
    Kafka Streams Example
    tcp并发(c18w)
  • 原文地址:https://www.cnblogs.com/AI-Algorithms/p/3739631.html
Copyright © 2011-2022 走看看