Function 定义倍频程函数

Function 定义倍频程函数,function,octave,Function,Octave,我正在做一个学校项目,用倍频程计算和绘制速度/加速度图 我一直在尝试创建一个子地块函数,这样我就不必对每个子地块都进行硬核处理 subplot(3, 1, 1); plot(time, accn); grid; title('Acceleration vs Time') xlabel('Time, (s)') ylabel('Acceleration, (m/s^2)') subplot(3, 1, 2); plot(time, velocity); grid; title('Velocity

我正在做一个学校项目,用倍频程计算和绘制速度/加速度图

我一直在尝试创建一个子地块函数,这样我就不必对每个子地块都进行硬核处理

subplot(3, 1, 1);
plot(time, accn);
grid;
title('Acceleration vs Time')
xlabel('Time, (s)')
ylabel('Acceleration, (m/s^2)')

subplot(3, 1, 2);
plot(time, velocity);
grid;
title('Velocity vs Time');
xlabel('Time, (s)');
ylabel('Velocity, (m/s)');
是否可以创建类似于此的函数

subplot = subplotFunction(row, column, xaxis, yaxis, header, xaxisLabel, 
yaxisLabel)
subplot(3, row, column);
plot(xaxis, yaxis);
grid;
title('header')
xlabel('xaxisLabel')
ylabel('yaxisLabel')
endfunction
然后就这样叫它

subplot = subplotFunction(1, 1, time, accn, 'Acceleration vs Time', 'Time, (s)', 'Acceleration, (m/s^2)')
我对使用函数非常陌生,因此我很抱歉:(

给予


您是否尝试过这样做(没有
subplot=subplotFunction
部分,但有正确的函数声明)?是的,我尝试过运行函数方法,但它在第2行第27列附近返回错误:“row”undefined。在这种情况下,正确的函数声明是什么样的?
1;

function subplotFunction(row, column, idx, xaxis, yaxis, header, xaxisLabel, yaxisLabel)
  subplot (row, column, idx);
  plot (xaxis, yaxis);
  grid on;
  title (header)
  xlabel (xaxisLabel)
  ylabel (yaxisLabel)
endfunction

subplotFunction (3, 1, 1, 1:10, 11:20, "foo", "bar", "baz")
subplotFunction (3, 1, 2, 1:10, 11:20, "huhu", "haha", "hoho")
x = linspace (0, 10, 100);
subplotFunction (3, 1, 3, x, sin(x), "world", "boo", "doo")

print ("out.png")