Во-первых, убедитесь, что вы нажали close all force
перед вызовом вашей функции.
Это закроет все открытые (но, возможно, не видимые) фигуры.
Далее этот фрагмент явно указывает, какую фигуру и оси использовать:
f1 = figure();
ax1 = axes(f1);
p1 = plot(ax1, t,temp);
f2 = figure();
ax2 = axes(f2);
p2 = plot(ax2, t, Q1, t, F);
Если это все еще не работает:
попробуйте передать struct
, содержащий handles
, этим цифрам / осям в качестве третьего параметра вашей функции. в скрипте:
s = struct();
s.f1 = figure();
s.ax1 = axes(f1);
s.f2 = figure();
s.ax2 = axes(f2);
dheat(Tday,Tnight,s)
и функция:
function [s,totalheat1,totalheat2] = dheat(Tday,Tnight,s)
и тогда часть графика будет выглядеть так:
p1 = plot(s.ax1, t,temp);
p2 = plot(s.ax2, t, Q1, t, F);
Лично я предпочел бы возвращать вычисленные значения и вызывать определенные сюжеты из сценария. p1
и p2
могут быть опущены.