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

有关数组元素的寻访问题

[复制链接]
发表于 2010-10-7 23:11:23 | 显示全部楼层 |阅读模式 来自 美国
有一个数组,里面含有实数和虚数,如何找出其中的实数?
谢谢!
发表于 2010-10-8 08:24:20 | 显示全部楼层 来自 河北廊坊
Simdroid开发平台
可以用isreal,下面的代码供你参考:
  1. clear;clc;close all
  2. a=[1+1i;2;3;4+1i];
  3. b=a(cellfun(@isreal,num2cell(a)));
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-10-8 11:30:20 | 显示全部楼层 来自 台湾
我怎解读LZ只是要
a=[1+1i;2;3;4+1i]; real(a)

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-8 22:34:58 | 显示全部楼层 来自 美国
我怎解读LZ只是要
a=[1+1i;2;3;4+1i]; real(a)
ChaChing 发表于 2010-10-8 11:30

用real()的话,得到的是1 2 3 4,不是2 3
下面是我自己的
a(imag(a)==0)

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-10-11 19:26:44 | 显示全部楼层 来自 河北秦皇岛
可以采用“逻辑1”进行解决
例如:找出数组A=[-4 -2 0 2 4;-3 -1 1 5 3]中所有绝对值大于3的元素。
程序:L=abs(A)>3;
          islogical(L)
          x=A(L)
同样的道理你可以判断其虚部是否为0然后输出。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-10-11 21:41:09 | 显示全部楼层 来自 北京
  1. n=length(A);%A为初始向量
  2. k=1;
  3. for i=1:n
  4.     if isreal(A(i))
  5.         B(k)=A(i);  %B为输出向量
  6.         k=k+1;
  7.     end
  8. end
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-10-6 17:17 , Processed in 0.039830 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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