如何让一个if语句,发现1 x5列是否有4行值0 ?

1视图(30天)
你好,
我现在想知道我能让一个if语句,发现1 x5矩阵是否超过4的索引(正确的词?)超过0。
如。
我有一个随机函数1 x5矩阵可以有随机数,但有时它可以发生矩阵随机生成:
矩阵=
0
0
0
241年
0
我想让我的代码做一些特别是当有超过4 0 if语句,但不知道如何制定if语句。
任何帮助都是赞赏!

接受的答案

马修•诺伊
马修•诺伊 2021年10月12日
你好
我的建议如下:
矩阵= (241 0 0 0 0);
ind1 =找到(abs(矩阵)= = 0);方法1可以unpredictabe如果值百分比数据几乎但不是真正的零
托尔=每股收益;%一个非常小的数字
ind2 =找到(abs(矩阵)< tol);%方法2;对“几乎“零问题更健壮
如果元素个数(ind2) > 4%或其他
%你的代码在这里
结束

更多的答案(2)

dpb
dpb 2021年10月12日
先有点迂腐的评论符号的细节——如果矩阵是1 x5,
矩阵= [0 0 0 241 0)
相反,一个行向量,并不像上面给出的列。解决一个向量也不是很要紧,但是非常重要方向正确的如果是2 d和矩阵乘法,等等。
无论如何,除了教程,如果大小总是5元素,则相当于4 >元素为零
如果~所有(M)
做一些在这里
结束
因为> 4 = = > 5矢量的全尺寸。
或者大小变量或某个数的标准是比所有其他,然后使用
总和(M = = 0) > =(元素个数(M) - n)
在哪里 n 非零元素的数量要求(1在上述情况下)。

图像分析
图像分析 2021年10月12日
你已经询问两个相反的情况:
  1. “超过4 0”,
  2. “索引超过4比0”
所以我给解决方案情况万博 尤文图斯如下:
矩阵= [0 0 0 241 0)
% 1:“当有超过4 0”
%方法1找到哪里有0 4或更多。
如果nnz(~矩阵)> = 4
% 4或更多的零。
结束
%方法2找到哪里有0 4或更多。
如果(矩阵)> = 4
% 4或更多的零。
结束
%情况2:“发现1 x5矩阵是否超过4的索引超过0。”
如果总和(矩阵> 0)> 4
%有超过4正值(“0”)。
结束

类别

找到更多的在和迭代解算器输出显示帮助中心文件交换

标签

s manbetx 845


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的