我正在尝试用 C 语言实现 Matlab 的 linspace 函数。我对如何制作该算法感到困惑..
如果假设我有一个数字 s=6.. 那么范围将为 -6 到 6。
如果是的话..
在这个范围内,如果我需要假设 4 个相等的数字,那么输出将为 -6, -2, 2, 6。
如果我需要 6 个相等的数字,那么输出将为 -6、-3.6、-1.2、1.2、3.6、6。
如果是奇数..
如果我需要假设 5 个相等的数字,那么输出将为 -6, -3, 0, 3, 6
如果我需要假设 7 个相等的数字,那么输出将为 -6, -4, -2, 0, 2, 4, 6
我该如何处理这个过程?
最佳答案
我不确定这是否正确。但以你为例。 s=6,范围 = -6 到 6
情况:偶数 n=4
-6 到 6,我们有 12 个单元,12/(n-1) = 单个单元的大小 = 12/(4-1) = 4
所以从-6开始,(-6+4)=-2,(-2+4)=2,(4+2)=6
情况:奇数 n=5
一个数字是0。现在我们需要4个数字,2个在0的左边,2个在0的右边。
-6 到 0 我们有 6 个单位/2 = 3
所以从-6开始,(-6+3)=3, 0, (0+3)=3, (3+3)=6
关于c - 将范围划分为N个相等的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23533747/