2017-09-10 4 views
0

まあ、私は4つの変数の代わりに、2で機能するために私が変更された複数の変数のコードのために、このニュートン法を得たが、私は予期しない、エラー私はScilabが私に "予期せぬ構文エラー"を与えている理由を理解していません。

構文エラーを取得しておきます。

ファンクションFの方程式の偏微分からのヤコビ行列である9行目を参照します。すべての "別の行です。

clear;clc 
function z=F(p1,p2,p3,p4) 
    z(1)=0.3*(500-p1)^0.5-0.2*(p1-p2)^0.5+0.2*(p1-p3)^0.5 
    z(2)=0.2*(p1-p2)^0.5-0.1*(p2-p4)^0.5+0.2*(p2-p3)^0.5 
    z(3)=0.1*(p1-p3)^0.5-0.2*(p3-p2)^0.5+0.1*(p3-p4)^0.5 
    z(4)=0.1*(p2-p4)^0.5+0.1*(p3-p4)^0.5-0.2*(p4)^0.5 
endfunction 
function z=J(p1,p2,p3,p4) //Jacobiano 
    z=[-0.3/(2*sqrt(500-p1))-0.2/(2*sqrt(p1-p2))+0.2/(2*sqrt(p1-p3)) 0.2/(2*sqrt(p1-p2)) -0.2/(2*sqrt(p1-p3)) 0;0.2/(2*sqrt(p1-p2)) -0.2/(2*sqrt(p1-p2))-0.1/(2*sqrt(p2-p4))+0.2/(2*sqrt(p2-p3) -0.2/(2*sqrt(p2-p3)) -0.1/(2*sqrt(p2-p4));0.1/(2*sqrt(p1-p3)) 0.2/(2*sqrt(p3-p2)) -0.1/(2*sqrt(p1-p3))-0.2/(2*sqrt(p3-p2))+0.1(2*sqrt(p3-p4)) -0.1/(2*sqrt(p3-p4));0 0.1/(2*sqrt(p2-p4)) 0.1/(2*sqrt(p3-p4)) -0.1/(2*sqrt(p2-p4))-0.1/(2*sqrt(p3-p4))-0.2/(2*sqrt(p4))] 
endfunction 

コードはここで終わりではありませんが、エラーが、私は4x4のヤコビ行列や関数自体に使用される形式で、確かにある間違っている理由は、私はちょうど得ることはありません。

ありがとうございました。

答えて

1

あなたが行9の列191に括弧を閉じるのを忘れて、あなたは要素が操作の結果である、マトリックスを作成している場合は、列319

にオペレータを忘れてしまった、あなたがしたいですそれらを区切るために空白の代わりにコンマを使用する方がよい。読みやすさを向上させるために、複数の行でマトリックス定義を解除する場合は、...も使用する必要があります。あなたのヤコビアン機能は、それがこのように書かれていた場合のデバッグに非常に簡単に次のようになります。このスタイルで

function z=J(p1,p2,p3,p4) //Jacobiano 
    z=[-0.3/(2*sqrt(500-p1))-0.2/(2*sqrt(p1-p2))+0.2/(2*sqrt(p1-p3)),... 
     0.2/(2*sqrt(p1-p2)),... 
     -0.2/(2*sqrt(p1-p3)),... 
     0;... 
     ... 
     0.2/(2*sqrt(p1-p2)),... 
     -0.2/(2*sqrt(p1-p2))-0.1/(2*sqrt(p2-p4))+0.2/(2*sqrt(p2-p3),... 
     -0.2/(2*sqrt(p2-p3)),... 
     -0.1/(2*sqrt(p2-p4));... 
     ... 
     0.1/(2*sqrt(p1-p3)),... 
     0.2/(2*sqrt(p3-p2)),... 
     -0.1/(2*sqrt(p1-p3))-0.2/(2*sqrt(p3-p2))+0.1(2*sqrt(p3-p4)),... 
     -0.1/(2*sqrt(p3-p4));... 
     ... 
     0,... 
     0.1/(2*sqrt(p2-p4)),... 
     0.1/(2*sqrt(p3-p4)),... 
     -0.1/(2*sqrt(p2-p4))-0.1/(2*sqrt(p3-p4))-0.2/(2*sqrt(p4))] 
endfunction 

、あなたの過ちを簡単に発見することができます:8行目で行方不明)に気づき、そしてライン14で行方不明/

関連する問題