Определение октавных функций - PullRequest
0 голосов
/ 21 сентября 2018

Я работаю над школьным проектом с 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 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)')

Я новичок в использовании функций, поэтому мои извинения: (

1 Ответ

0 голосов
/ 21 сентября 2018
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")

дает

output

...