找回密码
 注册
Simdroid-非首页
查看: 59|回复: 1

从数组中选取一些数,计算后将数返回到原位置

[复制链接]
发表于 2012-12-6 21:17:04 | 显示全部楼层 |阅读模式 来自 北京
本帖最后由 pacoyang 于 2012-12-6 21:19 编辑

比如数组a=[-1 2 3 -5 8 9 0.2 -5 -7 -100 8]中选取符合条件的数,计算其平方后仍然按原来顺序排列。
比如选取大于3的数,分别为8、9、8,分别位于第5、6和11,计算其平方为64、81、64,这些数分别保存在一个数组(不一定为a)的第5、6、11的位置。
是不是需要用循环?我老觉得有更简便的方法。
发表于 2012-12-7 00:39:03 | 显示全部楼层 来自 英国
Simdroid开发平台
本帖最后由 nwcwww 于 2012-12-7 04:22 编辑
  1. b=zeros(size(a)); %new array with zeros
  2. b(a>3)=a(a>3).^2; %assign values with the given criterion
复制代码
如果直接覆盖写入原数列的话更简单些:
  1. a(a>3)=a(a>3).^2;
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-30 08:29 , Processed in 0.030805 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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