matlab - matlab中数组外的括号
问题描述
function [ result ] = addprimes( s, e )
z = s:e;
result = sum(z(isprime(z)));
end
z= s:e
z
创建一个包含元素的单位空间向量[s,s+1,s+2,...,e]
isprime(z)
根据它是非素数还是素数,返回一个具有逻辑0
或位置的数组。1
- 发生了
z(...)
什么?这个操作的名称是什么?有人可以解释一下吗?
解决方案
这称为逻辑索引。带有一些数字的示例:
>> x = [1 2 3 4 5 6];
>> isprime(x)
ans =
1×6 logical array
0 1 1 0 1 0
>> x(isprime(x))
ans =
2 3 5
>> sum(x(isprime(x)))
ans =
10
有关更多详细信息,请查看逻辑索引 - MATLAB 中矩阵索引的多个条件和“逻辑索引” 。
推荐阅读
- spring-boot - 使用 SpringBoot 的普罗米修斯
- mongodb - $sort 中的 Mongo 和索引问题
- react-native - react-native-video 不适用于 muted=true
- r - 如何根据行索引在数据帧上执行滞后/超前
- javascript - 根据数组中元素的数量反应渲染样式
- java - Android为库模块创建模板
- php - PayPal PHP SDK 抛出错误“找不到类”?
- node.js - 使用“npm start”时,什么会阻止我的 html 页面在计算引擎 vm 中显示
- matlab - matlab无法显示rgb图像
- flutter - 删除滑块的默认边距