plot style of 'OutputFcn'=odeplot in odeset

The following code can plot the solution of the ode with 'odeplot' rather than using 'plot'.
options = odeset('OutputFcn',@odeplot)
ode23(@ode,[0;t],x0,options)
How to change the settings of 'odeplot', for example, how to change the marker, line width etc?

 Akzeptierte Antwort

Avni Agrawal
Avni Agrawal am 6 Feb. 2024

0 Stimmen

Hi,
I understand that you want to add styling to your odeplot. Please refer to below code for modifying the settings
% Define options for ode23 with customized odeplot
options = odeset('OutputFcn', @(t,y,flag) odeplot(t,y,flag,'Marker','o','LineWidth',1.5));
ode23(@ode,[0;t],x0,options)
% Modify plot properties
xlabel('Time'); % Change XLabel
ylabel('Solution'); % Change YLabel
title('ODE Solution with Customized odeplot'); % Change Title
% Modify font size
set(gca,'FontSize',12); % Set font size for all axes labels and title
I hope this helps!

4 Kommentare

many thanks, but when I replace 'Marker','o' with 'Marker','.', it still plots with 'o', which is the default.
Avni Agrawal
Avni Agrawal am 6 Feb. 2024
Bearbeitet: Avni Agrawal am 6 Feb. 2024
Can you the share entire code? It would be easier to understand and fix the issue.
x0=0;t=1;
options = odeset('OutputFcn', @(t,y,flag) odeplot(t,y,flag,'Marker','.'));
ode23(@(t,x)1,[0;t],x0,options)
x0 = 0;
t = 1;
options = odeset('OutputFcn', @(t,y,flag) odeplot(t,y,flag));
% Solve the ODE and simultaneously adjust axis font size
ode23(@(t,x)1,[0;t],x0,options);
set(gca,'FontSize',12); % Set font size for all axes labels and title
% Get handle to current axes
ax = gca;
% Find the line object plotted by odeplot
hLine = findobj(ax, 'Type', 'Line');
% Set marker properties for the line
set(hLine, 'Marker', '.', 'MarkerEdgeColor', 'r', 'MarkerSize',10);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by