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