Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мемс рус.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

Верификация результатов расчета

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

Сделаем это на примере программы расчета токов в цепи, реализованной М-файлом Circuit 3_debug.

На этапе написания программы мы осуществили проверку по 2-му закону Кирхгофа по контуру, не включенному в систему уравнений для нахождения токов в ветвях. Для электрических цепей такого рода проверка необходима Теперь проверим, достаточна ли она. Для этого выполним следующие действия:

 Внесем логическую ошибку в программу. При заполнении матрицы М заменим М(1,2)=-1 на М(1,2)=1. Теперь матрица должна выглядеть следующим образом:

M=[1 1 -1;

Z1 0 Z3;

0 Z2 -Z3];

 Сохраним программу и запустим ее на расчет.

Результаты расчета:

I1=-17.5739-76.7793i

I2=16.5153+79.355i

I3=-1.0586+2.5757i

error calculation eps=0

I1M=78.7649 phI1=-102.8923

I2M=81.0554 phI2=78.2435

I3M=2.7848 phI3=112.3428

>>

Таким образом мы видим, что кривые токов на графике похожи на реальные, а ошибка расчета eps=0. Следовательно, проведенной проверки недостаточно для выявления данной логической ошибки.

 Для электрической схемы рекомендуется проводить проверку также по 1-му закону Кирхгофа для узла, не охваченного системой уравнений для определения неизвестных. Организуем расчет проверки по 1-му закону Кирхгофа и по 2-му закону Кирхгофа следующим образом:

%ПРОВЕРКА ПО 1 ЗАКОНУ КИРХГОФА

eps1=I(1,1)-I(2,1)-I(3,1);

%ПРОВЕРКА ПО 2 ЗАКОНУ КИРХГОФА

eps2=E1-E2-Z1*I(1,1)-Z2*I(2,1);

disp([' error calculation eps1=',num2str(eps1)]);

disp([' error calculation eps2=',num2str(eps2)]);

и проведем соответствующие замены в программе.

 Сохраним программу и запустим ее на счет. Получим следующие результаты:

I1=-17.5739-76.7793i

I2=16.5153+79.355i

I3=-1.0586+2.5757i

error calculation eps1=-33.0306-158.71i

error calculation eps2=0

I1M=78.7649 phI1=-102.8923

I2M=81.0554 phI2=78.2435

I3M=2.7848 phI3=112.3428

Таким образом, проверка по 1-му закону Кирхгофа дает погрешность

eps1=-33.0306-158.71i. Очевидно, что, поскольку 1-й закон Кирхгофа не выполняется, то расчет выполнен неправильно.

 Исправим внесенную ошибку и снова запустим программу. Получим следующие значения погрешностей

error calculation eps1=0

error calculation eps2=3.5527e-015+7.1054e-015i

Величина погрешности свидетельствует о правильности расчета.

3 Лабораторная работа № 3

ТЕМА: Моделирование установившихся электрических процессов в среде MATLAB. Часть 3.

ЦЕЛЬ РАБОТЫ: Разработать и отладить программу расчета токов и напряжений в заданной электрической цепи и доказать правильность расчета.

Задание на выполнение работы

Для заданного варианта электрической схемы

 Разработать математическую модель расчета токов в ветвях и напряжений на реактивных элементах;

 Составить программу, реализующую разработанную модель;

 Включить в программу операторы, позволяющие провести верификацию результатов расчета;

 Организовать графический вывод указанных функций токов и напряжений;

 Отладить программу;

 Результаты работы ( программу, листинг расчета, графики) сохранить в личной папке.