Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы Вышка.doc
Скачиваний:
6
Добавлен:
22.11.2018
Размер:
102.91 Кб
Скачать

Предисловие

Скопируйте текст и вставьте в текстовый редактор Scilab. Внимание! Некоторые функции не работают в пятом Scilab, поэтому делайте все в четвертой версии программы. Третья работа по интегралам, там вы должны вбить при Тимошине алгоритмы нахождения интегралов inttrap, integrate, intg.

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

clc

clear

function abc

disp('РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ МЕТОДОМ ГАУССА')

mprintf('\n\n')

A=input(' введите матрицу коэффициентов:');

mprintf('\n\n')

n=size(A, 'c');

m=size(A, 'r');

//for i=1:m;

//for j=1:n;

// mprintf('введите элемент %g строки, %g столбца',i,j)

//A(i,j)=input('');

//mprintf('\n')

//end

//end

//mprintf('\n\n')

//mprintf('Основная матрица системы\n\n')

// for i=1:m;

// for j=1:n;

// mprintf('%10.8f ', A(i,j))

// end

// mprintf('\n\n')

// end

//mprintf('\n')

A

for t=1:m;

mprintf('введите свободный элемент %g-ый строки',t)

B(t,1)=input('');

mprintf('\n')

end

mprintf('\n\n')

mprintf('столбец свободных элементов\n\n')

for t=1:m;

mprintf('%10.8f \n\n',B(t))

end

mprintf('\n')

if rank(A)==rank([A B])

K=rref([A B]);

if rank(A)==n

mprintf('Система линейных уравнений определена\n\n')

X=K(:,n+1);

else

P=K;

mprintf('Система линейных уравнений не определена\n\n')

disp(K)

mm=rank(A);

mprintf('\n\n')

mprintf('Cвязанных переменных %g \n\n',mm)

for t=1:mm;

mprintf('введите номер %g связанной переменной',t)

AA(t)=input('');

mprintf('\n')

end

mprintf('\n\n')

mprintf('Cвободных переменных %g \n\n',n-mm)

for t=1:n-mm;

mprintf('введите номер %g свободной переменной',t)

AAA(t)=input('');

mprintf('\n')

end

for s=1:mm

mprintf('неизвестное X(%g)=%10.8f',AA(s),P(s,n+1))

for ss=1:n-mm

mprintf('+(%10.8f)*C%g',-P(s,AAA(ss)),AAA(ss))

end

mprintf('\n\n')

end

return

end

else

mprintf('Система линейных уравнений несовместна\n\n')

return

end

mprintf('решение системы:\n\n')

for h=1:n;

mprintf('x%g=%11.9f\n\n',h,X(h));

mprintf('\n')

end

endfunction

abc

disp('Хотите ли вы решить еще одну систему?')

lg=0;

while lg==0

AH=input('Yes/No?(Внимание! Ввод производится в апострофах)\n')

if AH=='Yes'

abc

end

if AH=='No'

mprintf('Спасибо за использование программы!')

lg=lg+1;

end

end