Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Function 倍频程:定义插值数据点的函数_Function_Unix_Octave - Fatal编程技术网

Function 倍频程:定义插值数据点的函数

Function 倍频程:定义插值数据点的函数,function,unix,octave,Function,Unix,Octave,编写一个倍频程函数来实现f(x)=sin(3x)/(0.4+(x-2)^2) 编写一个倍频程脚本,在间隔f(x)=sin(3x)/(0.4+(x-2)^2)的值之间进行插值,在间隔x=[0,4]中最多9个点进行均匀采样 我不明白这个问题在问什么。我将第一部分解释为定义一个函数fx,该函数可以从任何地方调用,以返回给定x的f(x)值,但我不确定是否必须输入x 对于第二部分,我使用interpl功能是否正确 我的尝试: 函数文件fx.m 但是对于y,它只返回1个值。我需要返回9个均匀分布的样本。

编写一个倍频程函数来实现
f(x)=sin(3x)/(0.4+(x-2)^2)

  • 编写一个倍频程脚本,在间隔
    f(x)=sin(3x)/(0.4+(x-2)^2)
    的值之间进行插值,在间隔
    x=[0,4]
    中最多9个点进行均匀采样

  • 我不明白这个问题在问什么。我将第一部分解释为定义一个函数
    fx
    ,该函数可以从任何地方调用,以返回给定
    x
    f(x)
    值,但我不确定是否必须输入
    x

    对于第二部分,我使用
    interpl
    功能是否正确

    我的尝试:

    函数文件fx.m

    但是对于
    y
    ,它只返回1个值。我需要返回9个均匀分布的样本。我觉得好像我需要在某种程度上为循环使用一个

    脚本intpl.m


    我想你的老师想要的是:

    function y = f(x)
      y = ....x..... (fill your formula here but use elementwise operations [1])
    endfunction
    
    然后在给定范围内使用此功能:

    x = linspace (0, 4, 9);
    y = f(x)
    
    如果您希望将其保存在一个文件foo.m中,请确保不要使用函数定义启动该文件。我通常使用“1”,因此您的脚本foo.m变成:

    1;
    function y = f(x)
        x = ....;
    endfunction
    
    x = linspace (...);
    y = f(x)
    plot (x, y) # if you want to plot it
    
    [1]

    x = linspace (0, 4, 9);
    y = f(x)
    
    1;
    function y = f(x)
        x = ....;
    endfunction
    
    x = linspace (...);
    y = f(x)
    plot (x, y) # if you want to plot it