0
내 while 루프에서 OR 문을 사용하여 두 조건 중 하나가 충족되지 않을 때마다 루프가 종료되도록하려고합니다. (2) R (i, i) -R (i-1, i-1)의 절대 값이 지정된 델타보다 작음While 루프 및 논리 연산자
(1) i는 nmax보다 작거나 같아야한다. (Nmax 개의 모든 시간에 도달 할 때까지 함수가 실행될 때 모든 것이 동안 조건을 제외하고 잘 작동하는 것 같다)여기 내 코드입니다 :
function [R] = romberg(f,a,b,delta,nmax)
R=zeros(nmax,nmax);
R(1,1)=(f(a)+f(b))*(b-a)/2;
i=2;
while i<nmax || abs(R(i,i)-R(i-1,i-1))<delta
m=2^(i-1);
R(i,1)=trapez(f,a,b,m);
for j=2:i
R(i,j)=R(i,j-1)+(R(i,j-1)-R(i-1,j-1))/(4^j-1);
end
i=i+1;
end
R
while 루프 정의에 and,'|| '가 아닌', &&'를 사용하고 싶습니다. 당신은'i
David
나는 똑같이 생각하고 그것을 시도했다. 그러나, && 루프를 사용하면 1 회 반복 후에 종료됩니다. – Matt
오류가 발생하는 동안 루프가 있다고 가정하고 'abs (R (i, i) -R (i-1, i-1))> delta' 또는 뭔가가 델타보다 큽니다. – David