double arrow

Приложения. Структурные схемы манипуляционных систем

Приложение 1

Таблица 1

Структурные схемы манипуляционных систем

Код
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

Приложение 2

Таблица 2

Таблица ориентаций локальных систем координат

Положение локальной системы Si Положение локальной системы Si* Матрица ориентации систем Код
    1 0 0 0 1 0 0 0 1  
  0 1 0 0 0 1 1 0 0  
  0 0 1 1 0 0 0 1 0  
    0 1 0 0 0 1 1 0 0  
    0 0 1 1 0 0 0 1 0  
    1 0 0 0 1 0 0 0 1  

Приложение 3

Продолжение прил. 3

Приложение 4

Подпрограммы реализующие операции над матрицами

//---------------------------------------------------------------------------

// Операции над матрицами (4х4)

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

#include <stdio.h> // for printf()

#include <conio.h> // for getch()

// Сложение матриц (4х4)A+B=C

SumMatrix4(double A[][4], double B[][4], double C[][4])

{

int i, j;

for (i=0; i<4; i++)

for (j=0; j<4; j++)

C[i][j]= A[i][j]+B[i][j];

return 0;

}

// Вычитание матриц(4х4)A-B=C

int SubMatrix4(double A[][4], double B[][4], double C[][4])

{

int i, j;

for (i=0; i<4; i++)

for (j=0; j<4; j++)

C[i][j]= A[i][j]-B[i][j];

return 0;

}

// Транспонирование матриц(4х4)

int TranMatrix4(double A[][4], double A_transp[][4])

{

int i, j;

for (i=0; i<4; i++)

for (j=0; j<4; j++)

A_transp[i][j]= A[j][i];

return 0;

}

Продолжение прил. 4

// След матрицы (4х4)(Сумма диагональных элементов)

double TrailMatrix4(double M[][4])

{

int i;

double TrM=0.;

for (i=0; i<4; i++) TrM=TrM+M[i][i];

return TrM;

}

// Умножение матриц (4х4)AB=C

int MultiMatrix4(double A[][4], double B[][4], double C[][4])

{

int i, j, l;

for (i=0; i<4; i++)

for (j=0; j<4; j++)

{

C[i][j]= 0.;

for (l=0; l<4; l++)

C[i][j]= C[i][j]+A[i][l]*B[l][j];

}

return 0;

}

// Умножение матрицы (4х4)на вектор AV=W

int MultiVMatrix4(double A[][4], double V[4], double W[4])

{

int i, j, l;

for (i=0; i<4; i++)

{

W[i]= 0.;

for (j=0; j<4; j++)W[i]= W[i]+A[i][j]*V[j];

}

return 0;

}

// Вывод переменной на "консоль"

int PrintfVar(double c)

{

printf ("%4.0f",c);

printf ("\n\n");

getch();

return 0;

}

Продолжение прил. 4

// Вывод вектора(4х1)на "консоль"

int PrintfVect4(double V[4])

{

int i;

for (i=0; i<4; i++){printf ("%4.0f", V[i]); printf ("\n");};

printf ("\n");

getch();

return 0;

}

// Вывод матрицы(4х4)на "консоль"

int PrintfMatrix4(double M[][4])

{

int i, j;

for (i=0; i<4; i++)

{

for (j=0; j<4; j++)

printf ("%4.0f", M[i][j]);

printf ("\n");

}

printf ("\n");

getch();

return 0;

}

//-----------------------------------------------------------------------------

int main()

{

double TrA;

double C[4][4], M_transp[4][4], W[4];

double V[4]={1., 1., 1., 1.}; // Инициализация вектора V

double A[4][4]={3., 3., 3., 3., // Инициализация матрицы A

3., 3., 3., 3.,

3., 3., 3., 3.,

3., 3., 3., 3.};

double B[4][4]={2., 2., 2., 2., // Инициализация матрицы B

2., 2., 2., 2.,

2., 2., 2., 2.,

2., 2., 2., 2.};

double M[4][4]={1., 2., 3., 4., // Инициализация матрицы M

Продолжение прил. 4

1., 2., 3., 4.,

1., 2., 3., 4.,

1., 2., 3., 4.};

SumMatrix4(A,B,C); // Сложение матриц A+B=C

PrintfMatrix4(C);

SubMatrix4(A,B,C); // Вычитание матриц A-B=C

PrintfMatrix4(C);

MultiMatrix4(A,B,C); // Умножение матриц AB=C

PrintfMatrix4(C);

MultiVMatrix4(A,V,W); // Умножение матрицы А на вектор V: AV=W

PrintfVect4(W);

TranMatrix4 (M, M_transp); // Транспонирование матрицы M

PrintfMatrix4(M_transp);

TrA=TrailMatrix4(A); // След матрицы A

PrintfVar(TrA);

return 0;

}

//---------------------------------------------------------------------------

Программирование и основы алгоритмизации [Текст]+ [Электронный ресурс]: методические указания к выполнению курсовой работы для студентов очной формы обучения по направлению 221000.62 – «Мехатроника и робототехника».

КРАХМАЛЕВ ОЛЕГ НИКОЛАЕВИЧ

Научный редактор Д.И. Петрешин

Редактор издательства Л.И. Афонина

Компьютерный набор О.Н. Крахмалев

Темплан 2015 г., п.__

__________________________________________________________

Подписано в печать __.__.15 Формат 60×84 1/16

Бумага офсетная. Офсетная печать

Усл.печ.л. 1,3 Уч.-изд.л. 1,3 Тираж 30 экз. Заказ ___ Бесплатно.

__________________________________________________________

Брянский государственный технический университет.

241035, Брянск, бульвар 50-летия Октября, 7, БГТУ, 58–82–49.

Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: