将行相加并相乘并将它们放入两个额外的列中

时间:2013-10-05 15:28:24

标签: matlab

我选择一个输入矩阵并再添加两列。我将获得第一个额外列中行的总和以及第二个额外列中行的乘积。 但意外的错误阻止了我...请帮助。谢谢

clc;
clear all;

prompt = ' enter row ';

row = input( prompt );

prompt = ' enter column ';

column = input( prompt );

z = zeros( row, column );

prompt = 'enter matrix';

z = input( '' );

display( z );

z1= zeros( row, column + 2 );

for r = 1:row

       for c = 1:column
        z1( r,c ) = z( r,c );
    end
end

display( z1 );

for s = 1:row

      z1( s,column + 1 ) = sum( z,2 );
      z1( s,column + 2 ) = prod( z,2 );
end

display( z1 );

1 个答案:

答案 0 :(得分:0)

您正在修改z

z = zeros( row, column );

然后做

z = input( prompt );

采用一些不同的变量名称

此外,最后一个循环逻辑不正确

使用类似的东西:

z=[z sum(z,2) prod(z,2)]

示例:

>> z=magic(3)

z =

     8     1     6
     3     5     7
     4     9     2

>> z=[z sum(z,2) prod(z,2)]

z =

     8     1     6    15    48
     3     5     7    15   105
     4     9     2    15    72