Ошибка использования matlab2tikz вместе с анонимными функциями при использовании fplot - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь использовать matlab2tikz вместе с командой scatter и fplot, а также с анонимными функциями. Это когда я получаю следующее сообщение об ошибке:

Error using matlab2tikz>handleAllChildren (line 730)
I don't know how to handle this object: functionline

Error in matlab2tikz>drawAxes (line 880)
    [m2t, childrenEnvs] = handleAllChildren(m2t, handle);

Error in matlab2tikz>saveToFile (line 482)
        m2t = drawAxes(m2t, relevantAxesHandle);

Error in matlab2tikz (line 334)
    m2t = saveToFile(m2t, fid, fileWasOpen);

Error in UV_Meter_nach_Reparatur (line 436)
    matlab2tikz('Kennlinie_UV_Strahler_nach_Reparatur.tikz')

Мои мысли пока:

  • matlab2tikz имеет проблемы, потому что я использую команду fplot

  • matlab2tikz не может обрабатывать анонимные функции

  • Не нравится моя конкретная анонимная функция

Как я могу найти проблему?

Ниже показана часть кода, которая отвечает за визуальный вывод. Я могу предоставить больше / всего моего кода, если это будет необходимо.

%% Visuelle Ausgabe mit Ausgleichfunktion/-gerade

% Falls gosave = true werden die matlab figures gespreichert (Rasterbild)
gosave = false;
% Falls gosave = true werden die matlab figures gespreichert (Vektorgrafik)
gomatlab2tikz = true;

figure('Name','Ausgleichsgerade','units','centimeters','position',[18 16 15.5 10.333]) % ,'units','normalized','position',[0 0 1 1])
scatter(x,y,'filled','MarkerEdgeColor',[0 0 1],...
    'MarkerFaceColor',[0 0 1],...
    'LineWidth',1.5) %Plottet Punkte (y)
hold all
scatter(x,z,'filled','MarkerEdgeColor',[1 0 0],...
    'MarkerFaceColor',[1 0 0],...
    'LineWidth',1.5) %Plottet Punkte (z)

% 1. Ausgleichsgerade/polynom plotten
ausglFun = @(xpol) a{1}(1)*xpol^0+a{1}(2)*xpol^1; %anon fun Polynom
hold all % hold on geht nicht, weil verschiedene Plotarten
fplot(ausglFun,'color','b') %Plot anon fun als function plot
% 2. Ausgleichsgerade/polynom plotten
ausglFun = @(xpol) d{1}(1)*xpol^0+d{1}(2)*xpol^1; %anon fun Polynom
hold all % hold on geht nicht, weil verschiedene Plotarten
fplot(ausglFun,'color','r') %Plot anon fun als function plot

grid on
grid minor
%title('Strahlungsintensität über eingestellte prozentuale Strahlungsintensität der UV-Strahler')
xlabel('Am LED-Steuergeraet eingestellte prozentuale Strahlungsintensitaet') %[%]
ylabel({'Mittels eines UV-Meters';'absolut gemessene Strahlungsintensitaet'}) %[mW*cm^{-2}]
xlim([10 100])
ylim([0 1600])
xticks(linspace(0,100,11))
yticks(linspace(0,1600,9))
legend ('UV-Strahler Rechts','UV-Strahler Links','Location','northwest')
set(gca,'FontSize',30)

if gosave == true
    exportgraphics(gcf,'Kennlinie_UV_Strahler_nach_Reparatur.jpg','Resolution',300)
end
if gomatlab2tikz == true
    matlab2tikz('Kennlinie_UV_Strahler_nach_Reparatur.tikz')
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...