In what I missed
    1 回表示 (過去 30 日間)
  
       古いコメントを表示
    
function [ val, ea, iter] = IterMeth(x , es, maxit)
%%initialization
iter=12;
val = exp(1);
xr = [ ];
ea =100;
%iterative calculation
while (1)
    xrold=xr;
    xr= xr-x^iter/factorial(iter);                <--------------------------here?
    iter= iter+ 1;
    if xr~=0
    ea=abs((xr-xrold)/xr)*100;
    end
    if ea<=es || iter >= maxit,break,end
end
val=xr;
end
回答 (1 件)
  Walter Roberson
      
      
 2020 年 12 月 7 日
        
      編集済み: Walter Roberson
      
      
 2020 年 12 月 7 日
  
      xr = [ ];
That is empty.
    xrold=xr;
so that is empty.
    xr= xr-x^iter/factorial(iter);                %<--------------------------here?
empty minus anything would be empty. 
You are passing in x, but if it is not a scalar, you need
    xr = xr - x.^iter ./ factorial(iter); 
0 件のコメント
参考
カテゴリ
				Help Center および File Exchange で Software Development Tools についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



