Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-01-15
年龄: 42
帖子: 6
声望力: 0 ![]() |
![]()
A=[1 2 3 4];
B=[1 2;2 3;3 4;4 5] 让AB中行相乘 要达到A中的1 分别乘以B中的 1 2 A中的2分别乘以B中的 2 3 A中的3分别乘以B中的 3 4 A中的4分别乘以B中的 4 5 直接A.*B肯定不行 求大侠指点一下,怎么解决这个问题 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-04-26
帖子: 2
声望力: 0 ![]() |
![]()
看以用这样一个循环试试:
A=[1 2 3 4]; B=[1 2; 2 3; 3 4;4 5]; for i=1:4 for j=1:2 AB(i,j)=A(i)*B(i,j); end end AB |
![]() |
![]() |
![]() |
#3 |
普通会员
注册日期: 2009-03-25
年龄: 37
帖子: 52
声望力: 18 ![]() |
![]()
楼上的写的不错,用循环比较好
__________________
:水榭焚香听琴事,浪荡江湖不系舟: ![]() 感谢请点thanks |
![]() |
![]() |
![]() |
#4 |
普通会员
注册日期: 2009-02-22
帖子: 91
声望力: 18 ![]() |
![]()
下程序可否:
A=[1 2 3 4]; B=[1 2;2 3;3 4;4 5]; for i=1:4 C(i,: )=A(i).*B(i,: ); end 希望有帮助!! |
![]() |
![]() |
![]() |
#5 |
高级会员
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21 ![]() |
![]()
there is a more easier way to reach. you can change the dimensions of matrix A by using A,and than do a point time.
codes as follow are tested ok: A=[1 2 3 4]; A1=[A;A]'; B=[1 2;2 3;3 4;4 5]; ans=A1.*B >> ans = 1 2 4 6 9 12 16 20
__________________
坚持就是胜利,努力就有奇迹。 |
![]() |
![]() |