声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1016|回复: 2

[编程技巧] 求助:小程序错在哪?

[复制链接]
发表于 2009-4-4 23:06 | 显示全部楼层 |阅读模式

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

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

x
假设一个矩阵
a=[1 2 -3 -4 -1 5 4 -8 -1 -5 4 2 ……]

从第一个数开始,遇到一个正数,正数后面接着是负数的,就计数加1,如上面矩阵a中的 2 -3 和 4  -8

求矩阵a中有多少这样的组合?

我初学者,自己编了一个不正确,求高手帮忙,谢谢!

a=[1 2 -3 -4 -1 5 4 -8 -1 -5 4 2 ];
ind=find(a>0);
count=0;
for i=1:length(ind)
if (ind(i)~=length(a))&&(a(ind(i+1))<0)
count=count+1;
end;
end;

结果显示为1,错在哪?
回复
分享到:

使用道具 举报

发表于 2009-4-5 09:13 | 显示全部楼层

回复 楼主 wdtyang 的帖子

if (ind(i)~=length(a))&&(a(ind(i+1))<0)这句logic有误, 应为
if (ind(i)~=length(a))&&(a(ind(i)+1)<0)
 楼主| 发表于 2009-4-5 09:20 | 显示全部楼层

回复 沙发 ChaChing 的帖子

:handshake
谢谢啊,问题解决了!
刚才请教了一下别人,上面的程序用一句就解决了
sum(diff(sign(a))<0)

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-29 18:47 , Processed in 0.067506 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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