1

Я программирую в Matlab, и в своей программе мне нужно решить систему Ax=b, где A является m по m квадратной матрицей с очень маленькими вводами. Если m увеличивается, значения A становятся меньше.Решение матричного уравнения с очень маленькими входами

AA - редкая матрица, поэтому я переименовал эту матрицу с помощью функции sparse of Matlab: B=sparse(A).

Могу ли я использовать специальный метод для решения проблемы Bx=b без недочетов или числовых ошибок?

+0

Я думаю, вы может использовать ['vpasolve'] (http://www.mathworks.com/help/symbolic/vpasolve.html#bt5sqi5-2_1). –

ответ

1

Как отметил @Parag S. Chandakkar, вы можете обратиться к vpasolve. Сначала давайте построим систему с плохо обусловленной матрицей

n = 10; 
A = hilb(n) 
b = randn(n, 1); 

Обычный способ решения этой системы является вызовом

x = A\b; 

в то время как один с vpasolve является

xs = sym('x', [n 1]); 
sol = vpasolve(A*xs==b); 
+0

+1, я попробую, спасибо! – Hiperion

Смежные вопросы