Можно также использовать module_function как так:
module TestFunctions
def abc
puts 123
end
module_function :abc
end
TestFunctions.abc # => 123
Теперь можно включать TestFunctions в класс и назвать "abc" из модуля TestFunctions.
By default, plot does show axes, unless you've modified some settings. Try the following
hold on; % make sure no new plot window is created on every plot command
axes(); % produce plot window with axes
plot(% whatever your plot command is);
plot([0 10], [0 0], 'k-'); % plot the horizontal line
@Martijn ваш порядок вызовов функций немного нарушен. Попробуйте вместо этого:
x=-3:0.1:3;
y = x.^3;
plot(x,y), hold on
plot([-3 3], [0 0], 'k:')
hold off
Я знаю, что это немного поздно, но мой коллега кое-что выяснил:
figure, plot ((1:10),cos(rand(1,10))-0.75,'*-')
hold on
plot ((1:10),zeros(1,10),'k+-')
text([1:10]-0.09,ones(1,10).*-0.015,[{'0' '1' '2' '3' '4' '5' '6' '7' '8' '9'}])
set(gca,'XTick',[], 'XColor',[1 1 1])
box off
Решение бедняка - просто построить график линий x = 0 и y = 0. Вы можете настроить толщину и цвет линий, чтобы отличать их от графика.
Если вы хотите, чтобы оси выглядели больше как перекрестие, а не вдоль краев, попробуйте axescenter из Matlab FEX.
РЕДАКТИРОВАТЬ: только что заметил, что это уже указано в приведенной выше ссылке Джитсе Нильсеном.