Error: Function definitions are not supported in this context. Functions can only be created as local or nested functions in code files.
function t_a = SecOrdReaction (t0,tf,y,N)
%Решение обыкновенных дифференциальных уравнений для мономолекулярных реакций второго порядка
% t – время, сек; у – количество вещества А, М
% t_a = [0 600]- интервал времени; y = 0,25 – начальное условие;
% k = 0.5 – константа скорости реакции.
% N-число точек для отображения на графике
% Для запуска функции необходимо в командном окне набрать: >> t_a = SecOrdReaction (0,600,0.25,5)
close all %закрыть все ранее построенные графические окна
t = [t0, tf];
[t, y] = ode45(‘ODEfirst’, t0, y);
plot(t, y)
xlabel(‘Время, c’);
ylabel(‘Концентрация вещества A, M’)
title( ‘Решение кинетического уравнения для мономолекулярной реакции второго порядка’)
grid on
t_n = linpack(t0, tf, n);% при решении будет использовано точек интервала времени [ts, tf]
y_n = interp1 (t, y, t_n, ‘spline’);% n значений y точек для отображения
t_A = [t_n’, y_n’];
hold on
plot(t_n,y_n,’*r’)
function dy = ODEfirst(t, y)
dy=-0.5*y2;
[t, y] = ode45 (‘ODEfirst’, [0: 100: 600], 0.25) % t= 0 … 600 сек, шаг=100; y = 0.25
t_a = SecOrdReaction (0,600,0.25,5)function t_a = SecOrdReaction (t0,tf,y,N)
%Решение обыкновенных дифференциальных уравнений для мономолекулярных реакций второго порядка
% t – время, сек; у – количество вещества А, М
% t_a = [0 600]- интервал времени; y = 0,25 – начальное условие;
% k = 0.5 – константа скорости реакции.
% N-число точек для отображения на графике
% Для запуска функции необходимо в командном окне набрать: >> t_a = SecOrdReaction (0,600,0.25,5)
close all %закрыть все ранее построенные графические окна
t = [t0, tf];
[t, y] = ode45(‘ODEfirst’, t0, y);
plot(t, y)
xlabel(‘Время, c’);
ylabel(‘Концентрация вещества A, M’)
title( ‘Решение кинетического уравнения для мономолекулярной реакции второго порядка’)
grid on
t_n = linpack(t0, tf, n);% при решении будет использовано точек интервала времени [ts, tf]
y_n = interp1 (t, y, t_n, ‘spline’);% n значений y точек для отображения
t_A = [t_n’, y_n’];
hold on
plot(t_n,y_n,’*r’)
function dy = ODEfirst(t, y)
dy=-0.5*y2;
[t, y] = ode45 (‘ODEfirst’, [0: 100: 600], 0.25) % t= 0 … 600 сек, шаг=100; y = 0.25
t_a = SecOrdReaction (0,600,0.25,5) function t_a = SecOrdReaction (t0,tf,y,N)
%Решение обыкновенных дифференциальных уравнений для мономолекулярных реакций второго порядка
% t – время, сек; у – количество вещества А, М
% t_a = [0 600]- интервал времени; y = 0,25 – начальное условие;
% k = 0.5 – константа скорости реакции.
% N-число точек для отображения на графике
% Для запуска функции необходимо в командном окне набрать: >> t_a = SecOrdReaction (0,600,0.25,5)
close all %закрыть все ранее построенные графические окна
t = [t0, tf];
[t, y] = ode45(‘ODEfirst’, t0, y);
plot(t, y)
xlabel(‘Время, c’);
ylabel(‘Концентрация вещества A, M’)
title( ‘Решение кинетического уравнения для мономолекулярной реакции второго порядка’)
grid on
t_n = linpack(t0, tf, n);% при решении будет использовано точек интервала времени [ts, tf]
y_n = interp1 (t, y, t_n, ‘spline’);% n значений y точек для отображения
t_A = [t_n’, y_n’];
hold on
plot(t_n,y_n,’*r’)
function dy = ODEfirst(t, y)
dy=-0.5*y2;
[t, y] = ode45 (‘ODEfirst’, [0: 100: 600], 0.25) % t= 0 … 600 сек, шаг=100; y = 0.25
t_a = SecOrdReaction (0,600,0.25,5) matlab MATLAB Answers — New Questions