我是使用MATLAB的新手,我仍在努力了解如何制作这个特定的功能。我理解在纸上执行此操作的公式,但我无法将其转换为所需的MATLAB语法。
如何编写一个函数,使得它需要一个数字数组,并返回那个删除了不快乐数字的数组,即只剩下幸福数字?
编辑 - 证明和输入输出
输入:
array = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37,
41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
输出:
array = [7, 13, 19, 23, 31, 79, 97]
一个快乐的数字是这样一个数字的平方数字总和最终等于1,或者无限期地继续这个过程as seen here。
答案 0 :(得分:1)
如果您有不愉快的数字索引。你可以写下来删除它们:
array(unhappy_index) = [];
如果您没有不满意的索引,可以使用followng命令找到它们:
find()
答案 1 :(得分:1)
我已经写了一个小功能(可能会进一步改进)来测试"幸福"一个数字。
当前版本仅适用于标量和一个暗淡。阵列。
输入:要测试的标量或数组
输出:
1)索引:happy(1)unhappy(0)
2)输入集中的幸福数字列表
3)输入集中的不满号码列表
使用问题中指定的输入运行函数,函数返回:
UNION ALL
希望这有帮助。