Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
在此处输入图片说明
我正在尝试解决这个问题。但是我一直出错。这是我的第一个代码。 % Program 3.3 function [L, U, P] = lufact(A) [N, N] = size(A); X = zeros(N, 1); Y = zeros(N, 1); C = zeros(1, N); R = 1:N; for p = 1: N-1 [max1, j] = max(abs(A(p:N, p))); C = A(p,:); A(p,:) = A(j + p - 1,:); A(j + p -1, :) = C; d = R(p); R(p) = R(j + p -1); R(j + p - 1) = d; if A(p,p) == 0 'A is Singular. No unique Solution' break end for k = p + 1:N mult = A(k,p)/A(p,p); A(k,p) = mult; A(k,p + 1:N) = A(k, p + 1:N) - mult *A(p, p + 1:N); end I=(1:N)'*ones(1,N,1); J=I'; L = (I>J).*A + eye(N); U = (J>=I).*A; P = zeros(N); for k=1:N P(k,R(k))=1; end end X(N) = Y(N)/A(N,N); for k = N-1: -1: 1 X(k) = (Y(k) - A(k, k+1:N)*X(k+1:N))/A(k,k); end 这是我用来解决此问题的第二代码。 function B = Ques3(A) % Computes the inverse of a matrix A [L,U,P] = lufact(A); N = max(size(A)); I = eye(N); B = zeros(N); for j = 1:N Y = forsub(L,P*I(:,j)); B(:,j) = backsub(U,Y); end 但是我在MATLAB中始终遇到错误,“ >> Ques3(A)无法识别的函数或变量'forsub'。 Ques3中的错误(第12行)Y = forsub(L,P * I(:,j));“ 有人可以帮我解决这个问题。 谢谢!! 更多&回答... |
![]() |
![]() |