function – error: __plt2vv__: vector lengths must match when using Newton’s method

I want to create a code that uses different values of a, within a certain interval, and applies Newton’s method, represented in the function t. Then, it takes the last iteration of t and uses it in y1_novo and y2_novo, I want this to repeat to all values of a. Then it takes the final y1 and y2 and graphs it in fuction of a. But I get this error error: __plt2vv__: vector lengths must match error: called from __plt__>__plt2vv__ at line 487 column 5 __plt__>__plt2__ at line 247 column 14 __plt__ at line 132 column 16 plot at line 229 column 10 ex6_novo at line 31 column 3

This is the code in question:

a = 1+sin(1):0.01:4+sin(2);
t0 = 1;
N = 306;
epsilon = 1e-5;
y1 = [];
y2 = [];
k = 1;
while k != length(a)
  a_novo = a(k);
function [t, t_imp] = metodoDeNewton(a_novo, t0, N, epsilon)
  t = zeros(1, N+1);
  t(1) = t0;
  for i = 1:N
    t(i+1) = t(i) - (t(i).^2 - (a_novo - sin(t(i)))) ./ (2 .* t(i) - cos(t(i)));
    if abs(t(i+1) - t(i)) < epsilon
      t_imp = t(i+1);
      break;
    endif
  endfor
endfunction

[t, t_imp] = metodoDeNewton(a_novo, t0, N, epsilon);
x = linspace(0, 1, N+1);
y1_novo = t_imp;
y2_novo = a_novo - sin(t_imp);
y1 = [y1, y1_novo];
y2 = [y2, y2_novo];
k = k + 1;
endwhile

Any help would be appreciated!!

Read more here: Source link