Script too Long to Run
Mostra commenti meno recenti
I've just finish creating the script on one of the Optimisation Method. The problem that I currently have is the script took around 20 minutes
I've also preallocate changing vectors, but that hasn't made any difference. Not sure what I can do to resolve this?
clear
clc
format long
syms X1 X2 X3 X4 real;
%Preallocating changing vectors
x1=zeros(10000,1);
x2=zeros(10000,1);
x3=zeros(10000,1);
x4=zeros(10000,1);
error=zeros(10000,1);
A=[1 0 -1 3; 0 2 1 0; -1 1 6 -1; 3 0 -1 10];
b=[0; -2; -1; -1];
X=[X1; X2; X3; X4];
f=@(X1, X2, X3, X4) (1/2)*X'*A*X + b'*X;
x1(1)=0; x2(1)=1; x3(1)=0; x4(1)=0;
g=A*X+b;
alpha=0.1;
tol=10^(-6)
k=1;
gl = subs(g, [X1, X2, X3, X4], [x1(k), x2(k), x3(k), x4(k)]);
while norm(gl)>tol
gl = subs(g, [X1, X2, X3, X4], [x1(k), x2(k), x3(k), x4(k)]);
alpha=gl'*gl./(gl'*A*gl);
x1(k+1)=x1(k)-alpha*gl(1);
x2(k+1)=x2(k)-alpha*gl(2);
x3(k+1)=x3(k)-alpha*gl(3);
x4(k+1)=x4(k)-alpha*gl(4);
error(k)=norm(gl);
k=k+1;
end
2 Commenti
Stephen23
il 27 Mar 2022
"Not sure what I can do to resolve this?"
Don't use the symbolic toolbox. Numeric operations are much faster.
Charles Thomas
il 27 Mar 2022
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Desktop in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!