나는 수치적인 미적분 수업을 듣고 있으며, 대부분이 이론적이기 때문에 소책자를 통해 배운 매우 기본적인 것을 제외한 모든 Scilab 프로그래밍을 알 필요가 없습니다. 나는 소책자를 읽고 있었고이 실례 코드는 절개 방법을 통해 기능의 근원을 찾는 것을 발견했습니다. 문제는 작동하도록 만드는 방법을 찾을 수 없다는 것입니다. 나는 bissecao(x,-1,1,0.1,40)
으로 전화를 걸려고했으나 작동하지 않았습니다. 내가 가진 오류가 있었다 : 내가보기 엔 코드 자체가 작동하지 않는 것을 의심으로Scilab에 대한 기본적인 질문
at line 3 of function bissecao (E:\Downloads\bisseccao3.sce line 3)
Invalid index.
, 나는 아무 소용이 잘못 보였다 내가 발견 할 수 무엇을 검색했는데, 나는 아마 나는 것 같아요 어떻게 든 그것을 잘못하고있다.
코드는 다음
가function p = bissecao(f, a, b, TOL, N)
i = 1
fa = f(a)
while (i <= N)
//iteraction of the bissection
p = a + (b-a)/2
fp = f(p)
//stop condition
if ((fp == 0) | ((b-a)/2 < TOL)) then
return p
end
//bissects the interval
i = i+1
if (fa * fp > 0) then
a = p
fa = fp
else
b = p
end
end
error ('Max number iter. exceded!')
endfunction
f는 함수 (I 추측), A 및 B는 우리가 순회 될 것이다 간격의 한계이다이다
는 TOL이 허용되는 상기 프로그램은 0에 가깝게 끝나고, N은 iteraction의 최대 수입니다.
이 실행 방법에 대한 도움을 주시면 감사하겠습니다.
귀하의 오류 로그 내 일치하지 않습니다 '의 전화는'당신의 질문에 정의되지 않은 첫 번째 매개 변수로 x'을 포함 bissecao'.명확하게 정의하십시오 : 신원 기능을 의미 했습니까? – PTRK