Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对矩阵的所有元素应用if条件而不使用Matlab中的嵌套循环_Matlab - Fatal编程技术网

如何对矩阵的所有元素应用if条件而不使用Matlab中的嵌套循环

如何对矩阵的所有元素应用if条件而不使用Matlab中的嵌套循环,matlab,Matlab,我想在代码中应用if条件,而不使用循环。请建议 BC=[1 0 5 -1 0 ]; for j=1:N_Nodes if BC(j)>0 for k=1:N_Nodes if BC(k)==0 && dist(j,k)<CS_Range && NAV(j)<packetlength NAV(j)=packe

我想在代码中应用if条件,而不使用循环。请建议

BC=[1 0 5 -1 0 ];
for j=1:N_Nodes
    if BC(j)>0
        for k=1:N_Nodes                            
            if  BC(k)==0 && dist(j,k)<CS_Range && NAV(j)<packetlength
                  NAV(j)=packetlength;      
            end 
        end
    end
end

如果我正确理解了您的问题,那么您希望将NAV的每个元素都设置为packetlength,前提是BC为0且当前NAV小于数据包长度。此外,此操作的范围应为CS_range at max。假设N_节点等于BC的长度,等于NAV 5的长度,则可以使用布尔操作:

NAV(BC==0 & NAV<packetlength) = packetlength
由于包装长度在过程中不发生变化,因此无论如何都可以省略外环,因此不需要任何距离边界


如果这不能回答您的问题,请在代码中定义未定义的参数。

请展示一些努力:在10行代码中有5个未定义的变量。如果你想得到一些帮助,你应该让我们更容易帮助你