can someone help with this error please

% Define the differential equation
f = @(t,x) x.^2 - t;
% Define the time interval and initial conditions
tspan = [0,2];
a1 = 0;
a2 = 0.75;
% Solve the differential equation using ode45
[t1,x1] = ode45(f,tspan,a1);
[t2,x2] = ode45(f,tspan,a2);
% Plot the solutions
hold on
plot(t1,x1,'b','LineWidth',2)
plot(t2,x2,'r--','LineWidth',2)
xlabel('t')
ylabel('x')
legend('a=0','a=0.75')
% Plot the distance between the trajectories
figure
plot(t1,abs(x1-x2),'k','LineWidth',2)
Arrays have incompatible sizes for this operation.
xlabel('t')
ylabel('|x1(t) - x2(t)|')

Answers (2)

Torsten
Torsten on 30 Apr 2023
Edited: Torsten on 30 Apr 2023
Instead of
tspan = [0,2]
use
tspan = linspace(0,2,100)
This fixes the number of output times to 100 for both calls to ode45.
x1 has 41 elements while x2 has 45 elements, so how can you subtract them?

Categories

Find more on Programming in Help Center and File Exchange

Asked:

on 30 Apr 2023

Edited:

on 30 Apr 2023

Community Treasure Hunt

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

Start Hunting!