Предисловие
Скопируйте текст и вставьте в текстовый редактор 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