Я написал функцию, которая отображает функцию y(t), используя 4 входных аргумента.
function plot_me_n1(A,B,m1,m2)
t = linspace(0,10,10/0.01);
y=A*exp(-m1*t) - B*exp(-m2*t);
plot(t,y,'color',rand(1,4));
title('equation', 'fontsize', 10);
ylabel('y(t)');
xlabel('t');
end
Сейчас я создаю еще одну функцию, которая передает функции plot_me_n1 функцию нескольких переменных для создания нескольких графиков.
figure
hold all
A=[-8,8,-8];
B=[9,-9,-9];
m1=-3;
m2=-4;
arrayfun(@(a,b) plot_me_n1(a,b,m1,m2),A, B);
hold off
Проблема в том, что он отображает только последний график, в то время как я пытаюсь добиться отображения нескольких графиков одновременно. Важно отметить, что я не могу переместить plot() за пределы функции, потому что хочу, чтобы функция plot_me_n1 работала сама по себе независимо от других сценариев. Итак, как сделать возможным отображение всех графиков одновременно на одной фигуре? Любые комментарии по рефакторингу о том, как сделать этот код лучше, приветствуются. Благодарю.
На самом деле скрипт работает нормально, просто графики пересекаются друг с другом.