查看: 664|回复: 4|关注: 0

[已答复] 在吗新人求解

[复制链接]

新手

5 麦片

财富积分


050


9

主题

15

帖子

0

最佳答案
发表于 2018-4-16 23:17:14 | 显示全部楼层 |阅读模式
function t3_1
n=5e4;
A=rand(1,n);%随机生成一个1行n列的向量
m=(n:-1:1);
B=A(1,m);
tic
   if B>0.3&&B<0.7
      A(m)=[];%去掉大于0.3,小于0.7的向量
   end
toc
disp(A)
哪儿有错了啊。。。。
这个是出现的错误提示
|| 和 && 运算符的操作数必须能够转换为逻辑标量值。

新手

5 麦片

财富积分


050


4

主题

9

帖子

0

最佳答案
发表于 2018-4-17 00:20:14 | 显示全部楼层
觉得你需要写一个for循环扫描B,然后根据条件修改A,
你可以在debug时,在命令行中试试B>0.3会得到什么,

论坛优秀回答者

权威

8685 麦片

财富积分



7

主题

1万

帖子

1928

最佳答案
  • 关注者: 449
发表于 2018-4-17 08:09:02 | 显示全部楼层
哪需要那么复杂
  1. function t3_1
  2. n=5e4;
  3. A=rand(1,n);
  4. tic
  5. A(A>0.3&A<0.7)=[];
  6. toc
  7. disp(A)
复制代码

新手

5 麦片

财富积分


050


9

主题

15

帖子

0

最佳答案
 楼主| 发表于 2018-4-18 22:30:00 | 显示全部楼层

谢谢,不过有个问题想要请教您,第五行是直接将条件写在里面了吗?

论坛优秀回答者

权威

8685 麦片

财富积分



7

主题

1万

帖子

1928

最佳答案
  • 关注者: 449
发表于 2018-4-19 07:23:51 | 显示全部楼层
祝晓思 发表于 2018-4-18 22:30
谢谢,不过有个问题想要请教您,第五行是直接将条件写在里面了吗?

是,你可以分开:
ind=A>0.3&A<0.7
A(ind)=[]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

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