이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date |
2012/07/14 18:25:35 |
Name |
효주찡 |
Subject |
매트랩 초보질문입니다. |
수치해석을 계절학기로 듣고있는데 이분법 공부하다가
코딩하는데 -_- 에러가 나네요. matlab을 잘못해서 그런가 해결을 못하겠네요 ㅠㅠ
function y = BIsection(fn,xl,xu,es,maxiter)
if nargin == 3
es= 0.001;
maxiter = 50;
end
true_val = 142.7379;
err_appr = zeros(1,maxiter);
err_true = zeros(1,maxiter);
xr = xl;
k = 1;
iter = 0;
while(true)
xrOld = xr;
xr = (xl+xu)/2;
if xr ~= 0
err_true(k) = abs((true_val-xr)/true_val)*100;
err_appr(k) = abs((xr-xrOld)/xr)*100;
end
if fn(xl)*fn(xu)<0
xu = xr;
elseif fn(xl)*fn(xu)>0
xl = xr;
else
err_appr(k) = 0;
end
iter= iter+1;
if iter >=maxiter ll err_appr(k) <=es
break
end
k = k+1;
end
y = xr;
fprintf('Number of iteration:%d\n', iter)
plot(1:maxiter, [err_appr; err_true]' )
legend('err(appr)', 'err(true)')
여기에 fm = @(m) sqrt(9.81*m/0.25)*tanh(sqrt(9.81*0.25/m)*4)-36;
해서 Bisection(fm,50,140)
실행하면
??? Undefined function or method 'll' for input arguments of type 'char'.
Error in ==> Bisection at 33
if iter >=maxiter ll err_appr(k) <=es
이러한 에러가 발생합니다.
ll <-- 이거 or기능있는 논리 연산자아닌가요.. 왜 정의가 안됬다고 ㅠㅠ
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|