【问题标题】:How to calculate MATLAB linspace function by hand如何手动计算MATLAB linspace函数
【发布时间】:2014-11-08 19:29:44
【问题描述】:

matlab 中有一个名为 linspace 的函数,用于在给定范围内分割区间。例如:

>> x = linspace(-10,5, 10)

x =

  -10.0000   -8.3333   -6.6667   -5.0000   -3.3333   -1.6667         0    1.6667    3.3333    5.0000

如何通过手工计算找到 x(4) ?

【问题讨论】:

  • 输入 open linspace 并查看其代码

标签: matlab


【解决方案1】:

这似乎有效 -

x = linspace(-10,5, 10)

start = -10;
stop = 5;
num_elements = 10;
index = 4;

out = start + (index-1)*(stop - start)./(num_elements-1)

输出 -

x =
  -10.0000   -8.3333   -6.6667   -5.0000   -3.3333   -1.6667    0    1.6667 ...
out =
    -5

因此,(stop - start)./(num_elements-1) 将是 stepsize

因此,如果您想要完整的数组,请执行此操作 -

complete_array = start : (stop - start)./(num_elements-1) :stop 

但是,如果您将这些结果与 linspace 结果 - What is the advantage of linspace over the colon “:” operator? 进行比较,请注意浮点精度问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多