matlab中一个一行四列矩阵与另一个多行四列矩阵如何实现与每个元素对应相乘

A=[3 2 3 4]

B=[1 2 3
4;2 3 4 5;3 4 5 6;5 6 7 8];

就是这样的两个矩阵

(1)令A矩阵与B矩阵的每一行每个元素对应相乘

(2)将乘完之后形成的矩阵每一行的四个数加和,得出最后结果。

非常感谢大神们的帮助!谢谢!
A=[3 2 3 4]

B=[1 2 3
4;2 3 4 5;3 4 5 6;5 6 7 8];
矩阵是这样,上边写乱了

第1个回答  推荐于2017-09-01
% 注意矩阵的size就好了,供参考:
H = [1,2,3,4];
h = zeros(3,length(H)); % 初始化h,列数与H保持一致
for i = 1 :3
h(i,:) = H;
end
第2个回答  推荐于2017-09-23
clear all;
close all;
clc;

A=[3 2 3 4];
B=[1 2 3 4;2 3 4 5;3 4 5 6;5 6 7 8];
n_data=[];
for i=1:size(B,1)
tp=A.*B(i,:)
n_data=[n_data;tp];
end
sum_m=sum(n_data,2);
n_data 是对应位相乘后的矩阵
sum_,m是求和后的矩阵追问

请问没有生成矩阵怎么办?谢谢

追答

tp 是每一次行运算生成的结果 ,只是中间过程,整体的矩阵已经生成。 n_data是相乘后的矩阵 sum_m是和矩阵

追问

非常感谢你!试过了是对的了!还想问一下,对最后的和矩阵,我想每一行的数都除以一个4的话,应该怎么做?麻烦您了!

本回答被提问者和网友采纳
第3个回答  2014-09-24
B*A'

ans =

    32
    44
    56
    80

相似回答