код Матлаб

Отменен
Заказ
5507466
Раздел
Программирование
Тип работы
Антиплагиат
Не указан
Срок сдачи
24 Июн 2023 в 21:55
Цена
Договорная цена
Блокировка
10 дней
Размещен
22 Июн 2023 в 23:29
Просмотров
80
Описание работы

Необходимо исправить код матлаб, выдет следующую ошибку:

"??? Error using ==> mtimes

Inner matrix dimensions must agree.

Error in ==> Untitled3 at 67

x11 = c1 * v;"


Сам код:


clear all;

a11 = 0; % Задание начальных условий

a12 = 1;

a21 = 2;

a22 = 3;

b11 = - 1;

b12 = - 2;

b21 = - 3;

b22 = - 4;

dt = 0.02; % шаг

km = 100; % правая граница

x = zeros(2, km); % начальное обнуление Х

x(1, 1) = 1; % начальные условия

x(2, 1) = -1;

A = [a11,a12; a21,a22];

I = [1,0; 0,1];

for k = 1:km % заполнение управляющих сигналов

kdt(k) = (k - 1) * dt;

u1(k) = k / 200;

u2(k) = 1;

end

for k = 1:km - 1

ub(1) = b11 * u1(k) + b12 * u2(k);

ub(2) = b21 * u1(k) + b22 * u2(k);

x(1, k + 1) = dt * A(1, 1) * x(1, k) + dt * A(1, 2) * x(2, k) + x(1, k) + ub(1);

x(2, k + 1) = dt * A(2, 1) * x(1, k) + dt * A(2, 2) * x(2, k) + x(2, k) + ub(2);

end

k = 1:1:km;

% ========================= Построение графиков

figure('name', 'Управляющие воздействия u1(k*dt), u2(k*dt) '); % открытие окна для графика

plot(kdt, u1(k), kdt, u2(k)); % рисуем график

set(gca, 'YLim', [0 2]);

legend('u1(k*dt)', 'u2(k*dt)');

grid on; % сетка отображается

xlabel('kdt', 'fontname', 'arial', 'fontsize', 21, 'color', [1 1 0]); % подпись Х

ylabel('y', 'fontname', 'arial new', 'fontsize', 23, 'color', [0 1 0]); % подпись Y

figure('name', 'Переходные процессы x1(k*dt), x2(k*dt) '); % открытие окна для графика

plot(kdt, x(1, :), kdt, x(2, :)); % рисуем график

legend('x1(k*dt)', 'x2(k*dt)');

grid on; % сетка отображается

xlabel('kdt', 'fontname', 'arial', 'fontsize', 21, 'color', [1 1 0]); % подпись Х

ylabel('y', 'fontname', 'arial new', 'fontsize', 23, 'color', [0 1 0]); % подпись Y

% =========================================== Метод МНК

% Формируем необходимые векторы

for k = 1:km - 1

dx(1, k) = (x(1, k + 1) - x(1, k)) / dt;

dx(1, km) = 0;

dx(2, k) = (x(2, k + 1) - x(2, k)) / dt;

dx(2, km) = 0;

du(1, k) = (u1(k + 1) - u1(k)) / dt;

du(1, km) = 0;

du(2, k) = (u2(k + 1) - u2(k)) / dt;

du(2, km) = 0;

end

vt = [dx(1, :), x(1, :), du(1, :), u1, du(2, :), u2];

v = vt';

F = vt * v;

b = v * x(1, :);

c1 = inv(F) * b;

% Матрица для проверки

c = [(a11 + a22) / a12, (a12 * a21 - a11 * a22) / a12, b11 / a12, (a22 * b11 - b21 * a12) / a12, b12 / a12, (a12 * b22 - b12 * a22) / a12];

disp('Матрица для проверки');

disp(c);

disp('Оценочные значения параметров');

disp(c1);

% сравнение графиков модельного выходного сигнала и оценки выходного сигнала, восстановленной по схеме МНК

x11 = c1 * v;

Otkl = 0;

for k = 1:km

Otkl = Otkl + (x(1, k) - x11(k))^2 / (x(1, k))^2;

end

Otkl

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир