声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2611|回复: 5

[编程技巧] matlab中编写for循环语句的问题

[复制链接]
发表于 2009-5-8 02:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请教matlab中有两个120*60的矩阵A1,B1,如果要实现如下的情况:
      A1(:,1)=A1(:,1)*0.5+B1(:,60)*0.5; B1(:,60)=A1(:,1)*0.5+B1(:,60)*0.5;
      A1(:,2)=A1(:,2)*0.5+B1(:,59)*0.5; B1(:,59)=A1(:,2)*0.5+B1(:,59)*0.5;
      A1(:,3)=A1(:,3)*0.5+B1(:,58)*0.5; B1(:,58)=A1(:,3)*0.5+B1(:,58)*0.5;
      A1(:,4)=A1(:,4)*0.5+B1(:,57)*0.5; B1(:,57)=A1(:,4)*0.5+B1(:,57)*0.5;
      ……
      A1(:,20)=A1(:,4)*0.5+B1(:,41)*0.5; B1(:,41)=A1(:,20)*0.5+B1(:,41)*0.5;
那么用for循环语句该如何编写呢?
回复
分享到:

使用道具 举报

发表于 2009-5-8 09:14 | 显示全部楼层

回复 楼主 jdsl009 的帖子

for ii=1:20
    A1(:,ii)=(A1(:,ii)+B1(:,61-ii))/2; B1(:,ii)=(A1(:,ii)+B1(:,61-ii))/2;
end
 楼主| 发表于 2009-5-8 11:03 | 显示全部楼层
:@D 原来这样 非常感谢
发表于 2009-5-8 11:49 | 显示全部楼层
为啥要用循环呢。。。。。
发表于 2009-5-8 12:53 | 显示全部楼层
这样也应该可以:
A1(:,1:20)=A1(:,1:20)*0.5+B1(:,60:-1:41)*0.5;
B1(:,60:-1:41)=A1(:,1:20)*0.5+B1(:,60:-1:41)*0.5;
 楼主| 发表于 2009-5-8 23:52 | 显示全部楼层
好的 谢谢 原来不要用for循环的:lol 直接
ii=1:20
    A1(:,ii)=(A1(:,ii)+B1(:,61-ii))/2; B1(:,ii)=(A1(:,ii)+B1(:,61-ii))/2;
就可以了:@D
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-13 21:52 , Processed in 0.060798 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表