Типовые структурные звенья
ЛАБОРАТОРНАЯ РАБОТА № 1
Калуга, 2015 г. Цель: изучение основных особенностей при параллелизме выполнения команд. Задание: распараллерить этапы сортировки массива одним из известных алгоритмов. Листинг программы: public partial class Form1: Form { TextBox[] tb = new TextBox[10]; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) {
Label[] lb = new Label[10]; for (int i = 0; i < tb.Length; i++) { //создание лейблов lb[i] = new Label(); lb[i].Location = new System.Drawing.Point(10, 10 + i * 30); lb[i].Name = "label" + i.ToString(); lb[i].Text = "Число " + (i+1).ToString() + ": "; lb[i].Size = new System.Drawing.Size(75, 23); lb[i].TabIndex = i; Controls.Add(lb[i]); //создание текст боксов tb[i] = new TextBox(); tb[i].Location = new System.Drawing.Point(100, 10 + i * 30); tb[i].Name = "textBox" + i.ToString(); tb[i].Size = new System.Drawing.Size(75, 23); tb[i].TabIndex = i; Controls.Add(tb[i]); } } public void Sort(int[] mas, int x, int y) { int temp; for (int i = x; i < y; i++) { if (mas[i] > mas[i + 1]) { temp = mas[i]; mas[i] = mas[i + 1]; mas[i + 1] = temp; } } } public void Bubble(int[] mas, int x, int y) { int temp; for (int i = x; i < y; i++) { for (int j = i + 1; j < y; j++) { if (mas[j] < mas[i]) { temp = mas[i]; mas[i] = mas[j]; mas[j] = temp; } } } } public void View(int[] mas, int x, int y, TextBox textbox) { string s = ""; for (int i = x; i < y; i++) { s += mas[i].ToString() + " "; } textbox.Text = s; } private void button1_Click(object sender, EventArgs e) { int[] mas = new int[10]; //int temp; try { //чтение значений for (int i = 0; i < tb.Length; i++) { mas[i] = Convert.ToInt32(tb[i].Text); } Stopwatch st = new Stopwatch(); st.Start(); //1 шаг - одноразовое перемещение Sort(mas, 0, mas.Length - 1); View(mas, 0, mas.Length, textBox11); //2 шаг - сортировка половинок массива (1 половина) Bubble(mas, 0, mas.Length / 2); View(mas, 0, mas.Length / 2, textBox12); //2 шаг - сортировка половинок массива (2 половина) Bubble(mas, mas.Length / 2, mas.Length); View(mas, mas.Length / 2, mas.Length, textBox13); //сортировка полного масссива пузырём Bubble(mas, 0, mas.Length); View(mas, 0, mas.Length, textBox14); st.Stop(); textBox15.Text = st.ElapsedMilliseconds.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } } Рисунок 1 – Результаты работы программы Типовые структурные звенья 1. Инерционное звено Инерционное звено описывается дифференциальным уравнением первого порядка следующего вида (Tp+1)y(t)=kx(t), где T - постоянная времени звена, k - коэффициент преобразования звена, x, y - входной и выходной сигналы звена, p - оператор дифференцирования.
Передаточная функция инерционного звена k W(p) = ------, Tp + 1 частотная передаточная функция W(jw) = A(w)e jф(w),
где k A(w) = - ---------- - (1 + (wT)2)
ф(w) = -arctg(wT).
Годограф W(jw) на комплексной плоскости является амплитудно-фазочастотной характеристикой (АФЧХ) инерционного звена. АФЧХ описывает зависимость коэффициента усиления A(w) звена и угла ф(w) фазового сдвига выходного сигнала звена по отношению ко входному сигналу в случае гармонического входного сигнала. Частотные свойства инерционного звена можно описать также логарифмической амплитудной характеристикой (ЛАХ) L(w) = 20lg(A(w)) и логарифмической фазовой характеристикой (ЛФХ) ф(w) = -arktg(wT).
-при изменении k изменяется и значение амплитуды (прямая зависимость) -при изменении постоянной времени Т изменяется значение частоты (обратная зависимость)
АФЧХ
1. при φ=-45⁰ и Т=1.0 - ω=1.0. при φ=-45⁰ и Т=0.5 - ω=2.0. при φ=-45⁰ и Т=0.1 - ω=10.0. при φ=-45⁰ и Т=0.01 - ω=100.0. ω и Т сопряжены (обратно пропорциональная зависимость) 2. при φ=-45⁰ и k0=100, kφ=70 при φ=-45⁰ и k0=50, kφ=35.4 при φ=-45⁰ и k0=10, kφ=7.1,
3. ω=5, при этом А=2, φ=-78.7⁰ (при k=10) ω=5, при этом А=9.8, φ=-78.7⁰ (при k=50) ω=5, при этом А=19.6, φ=-78.7⁰ (при k=100 4. При росте ω, k уменьшается, а угол растет (изменяется от 0⁰ до - 90⁰)
ЛАХ
1. при φ=-45⁰ и Т=0,005 - ω=200,0. при φ=-45⁰ и Т=0,01 - ω=100,0. при φ=-45⁰ и Т=0,1 - ω=10,0. при φ=-45⁰ и Т=1,0 - ω=1,0. ω и Т сопряжены (обратно пропорциональная зависимость) 2. при φ=-45⁰ и k0=100, L(w)=37 A(w)=70.79 при φ=-45⁰ и k0=50, L(w)=31 A(w)=70.79
3. ω=5, при этом А=9.77, φ=-78.7⁰ (при k=50) ω=5, при этом А=19.72, φ=-78.7⁰ (при k=100) 4. При росте ω, k уменьшается, а угол растет (изменяется от 0⁰ до - 90⁰) -при изменении k изменяется и значение амплитуды (прямая зависимость). k определяет максимальное значение амплитуды A(w) и следовательно L(w). -при изменении постоянной времени Т изменяется значение частоты (обратная зависимость) Чем больше Т, тем больше и частота среза wc.
Переходные характеристики 1. - ymax(t)=k=10 - t=7.57 с. - t=2.43 с. 2. - ymax(t)=k=10 - t=0.78 с. - t=0.23 с. 3. - ymax(t)=k=15 - t=7.57 с. - t=2.43 с. 4. - ymax(t)=k=15 - t=3.75 с. - t=1.23 с. 5. - ymax(t)=k=15 - t=0.79 с. - t=0.23 с. 6. - ymax(t)=k=15 - t=0.5 с. - t=0.17 с. 7. - ymax(t)=k=15 - t=1.43 с. - t=0.47 с.
При 0.95* ymax(t) t=0.75*T При 0.63* ymax(t) t=0.75*T
-чем больше значение k, тем больше и установившееся значение y(t) -чем меньше значение Т, тем быстрее у(t) достигает установившегося значения
|