Cholesky 分解的 Scilab 代码出现错误

问题描述 投票:0回答:1

好吧,我得到了这个 Cholesky 分解代码,但我不断收到错误:

        if i = k then
             ^^

错误:语法错误,意外=

这是我的代码:

clear;
clc;
function [L,LT]= Cholesky_decomposition(A)
        //Compute the cholesky  of a matrix
    n = size(A,1);
    for i = 1:n
        for k = i:n
            x = A(i,k);
            for j = (i-1):-1:1
                x = x - A(k,j)*A(i,j);
            end 
            if i = k then
                if (x<=0) then disp('Fail')
                else p(i)= sqrt(x);
                end 
            end 
            A(k,i) = x*p(i);
        end 
    end 
    [L,LT] = A;
endfunction
    A = [116 80 98 113; 80 66 80 93; 98 80 98 114; 113 93 114 133];
    disp('A', A);
    disp('The lower triangular matrix L is',[L,LT])
    disp('The upper triangular matrix L by Scilab is',chol(A));

感谢任何帮助。 非常感谢。

syntax-error scilab
1个回答
0
投票

比较是用

==
完成的,而
=
用于赋值:

if i == k then

会起作用的。

© www.soinside.com 2019 - 2024. All rights reserved.