24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1636  |  回复: 7

Jeviers

银虫 (小有名气)

[求助] Matlab元素寻址已有3人参与

举例子:
a=[5 1 7 6 2 4 3 9 8]
如何最简洁从a中找出元素3和7的位置(一定要先3后7,保留顺序)
最好不要用循环语句。

[ 发自手机版 http://muchong.com/3g ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guershao

至尊木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
i=find(a==3)
7也是类似

[ 发自小木虫客户端 ]
本来无一物,何处惹尘埃。
2楼2015-03-08 00:09:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Jeviers

银虫 (小有名气)

引用回帖:
2楼: Originally posted by guershao at 2015-03-08 00:09:17
i=find(a==3)
7也是类似

我知道find函数。实际问题是查找范围很大,要找的元素也很多(所幸的是范围内元素都不重复),而我想让程序简洁一点,看能不能避免使用循环语句。

[ 发自小木虫客户端 ]
3楼2015-03-08 00:21:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

muchongdian

金虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
i=find(a==3|a==7)
%%%%%%例子如下:
>>a=[5 1 7 6 2 4 3 9 8];
>> i=find(a==3|a==7)

i =

     3     7
4楼2015-03-08 16:23:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

条件循环,
先找到3,再循环在3以后字串中找7;
if 找到,结束;
if no,在3以前的字串中找7
5楼2015-03-08 17:09:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Jeviers

银虫 (小有名气)

引用回帖:
5楼: Originally posted by feixiaolin at 2015-03-08 17:09:18
条件循环,
先找到3,再循环在3以后字串中找7;
if 找到,结束;
if no,在3以前的字串中找7

没有最优答案,可否撤销求助?
我找了相对简洁的写法,不过还是没有避免循环。。。。
6楼2015-03-09 09:52:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Jeviers

银虫 (小有名气)

a=[5 1 7 6 2 4 3 9 8];
b=[3 7];
M=[];
for i=b
    M=[M,find(a==i)];
end


我自己的程序
7楼2015-03-09 09:52:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yumoym

至尊木虫 (文坛精英)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
Jeviers: 金币+15, ★★★★★最佳答案, 最佳答案 2015-03-10 23:36:39
[x,y]=ismember(b,a);
y
8楼2015-03-10 10:16:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Jeviers 的主题更新
信息提示
请填处理意见