Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
10 / 10 / 3
Регистрация: 09.03.2012
Сообщений: 94

Что можно сделать чтоб ФЧХ совпали?(

21.03.2013, 19:34. Показов 988. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
clc
close all
clear
syms w
w1 = logspace(-5,1,1000);
den = [1 6 5 8];
num = [1];
sys = tf(num, den)
 
[comp2, zcomp2, Kcomp2, prost2, Kprost2] = pa3del(den);
[fchx2 ] = func6(comp2, zcomp2, prost2);
 
 
figure
grid on 
hold on
phase = unwrap(angle(h));
plot(w1,phase*180/pi,'black','linewidth',3);
title('Фазо-частотная характеристика')
fchx22=subs(fchx2, w, w1, 0);
plot(w1,(fchx22)*180/pi,'red')

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function [ X1  ] = func6(comp1, comp2, prost1)
comp1
comp2
prost1
x1=0;
x2=0;
syms w 
for i = 1:length(prost1)
    F = -atan(w*prost1(i));
    x1 = F+x1;
end
 
for i = 1:length(comp1)
     F = -atan((2*comp1(i)*comp2(i)*w)/(1-comp1(i)^2*w^2));
     x2 = x2+ F;
end
X1 = x1+x2;
end

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function [comp1, comp2, Kcomp, prost1, Kprost] = pa3del(X)
syms p
comp = [];
prost = [];
comp1 = [];
comp2 = [];
prost1 = [];
Kprost = 1;
Kcomp = 1;
korni = round(roots(X)*1e6)/1e6
for i = 1:length(korni)
    if ~isreal(korni(i)) % если корень комплексный
        comp = [comp korni(i)]; % добавляем в комплексные корни
    else % остались простые корни
        prost = [prost korni(i)];  % добавляем в простые корни
    end
end
for i = 1:2:length(comp)
    Re = real(comp(i));
    Im = imag(comp(i));
    ReIm = Re*Re+Im*Im;
    Kcomp = Kcomp*ReIm; 
    sdd1 = sqrt(1/ReIm);
    sdd2 = -sdd1*Re;
    comp1 = [comp1 sdd1];
    comp2 = [comp2 sdd2];
end
for i = 1:length(prost)
    Kprost = Kprost*abs(prost(i));
    prost1 =[prost1 1/abs(prost(i))];
end
end
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2013, 19:34
Ответы с готовыми решениями:

Что можно сделать, чтоб флеш начал включатся?
Привет, флеш в браузере chromium включается. Так как браузер у меня устаревший, поэтому я хочу сначала решить проблему с обновление...

Что сделать, чтоб можно было разрабатывать компоненты EJB?
Подскажите кто знает, почему когда я открываю вкладку Enterprise в JBuilder5 она почти вся неактивна за исключением EAR и JMS, хотя я...

Как можно сделать чтоб сервер понимал что ему пришло файл или строка?
Как можно сделать чтоб сервер понимал что ему пришло файл или строка?

4
21.03.2013, 19:37

Не по теме:

Хоть бы пару слов написал, что к чему :ireful:

1
10 / 10 / 3
Регистрация: 09.03.2012
Сообщений: 94
21.03.2013, 19:56  [ТС]
Зосима, функция pa3del разбивает передаточную функцию на звенья (Инерционные первого порядка и колебательные)...

функция func6 строит ФЧХ системы, путем сложения ФЧХ звеньев (Инерционные первого порядка и колебательные)...

Добавлено через 3 минуты
Когда пытаюсь построить получается скачок из-за колебательного звена((
0
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
21.03.2013, 20:47

Не по теме:

Дружочек, если честно, то ты меня устал со своей ФЧХ: у тебя десяток тем по ней (при том, что я некоторые объединял), и чуть какой новый пук - создаешь новую тему! :pardon: :no:


В мою бытность студентом, мы строили ФЧХ на Си и скачки арктангенса лечили проверкой: если разность между точками большая(есть скачек), то прибаляем пи
Нужно только перевести это в матлаб.
*разности между элементами считаются ф-цией diff.
1
10 / 10 / 3
Регистрация: 09.03.2012
Сообщений: 94
21.03.2013, 22:27  [ТС]
Зосима, хорошая идея, щас попробую

Добавлено через 1 час 1 минуту
Зосима, получилось...))
использовал вот это...

Matlab M
1
2
3
4
5
6
7
        for j=1:length(Fiw3)
            if ((Fiw3(j))>0);
            Fiw4(j)=Fiw3(j)-pi;
            else
            Fiw4(j)=Fiw3(j);
            end
        end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2013, 22:27
Помогаю со студенческими работами здесь

как сделать в этом коде чтоб конкретное число кнопок можно было задавать допустим 3 кнопки чтоб открывало
this.Load += new EventHandler(Form4_Load); button1.MouseHover += new EventHandler(button1_MouseHover); ...

можно сделать так чтоб можно было использовать ifstream?
void __fastcall TForm1::Button1Click(TObject *Sender) можно как то сделать так чтоб обработке кнопки можно было использовать ifstream...

Как можно сделать так, чтоб можно было вписывать время в таблицу?
Есть таблица: create table PROGRAMY ( pr_name varchar2(50), zanra_ID number primary key, datums date default SYSYTEM, ...

Можно ли сделать чтоб поле было регистрозависимым?
Переношу данные из dbf файлов в MS SQL Server. Оказалось в одно таблице ключевое поле состоит из символов (используются как русские так и...

Код не работает,говорит,что не знает,что такое delay(100).в чём проблема?как сделать,чтоб программа заработала?
#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <dos.h> int main() { int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru