Matlab - No encuentro el error en el código

 
Vista:

No encuentro el error en el código

Publicado por Aldo (1 intervención) el 01/11/2021 16:25:39
Buen día, alguien podría ayudarme a resolver el problema en el código? Me envía un mensaje de que excedo en 1 el tamaño del arreglo, y ya he hecho modificaciones y no consigo arreglarlo, mi código es el siguiente y es un método de busqueda de máximos y minimos

clear all
clc

vector=[];
gam = 0.618;
a = 0;
b = 1;
l = 0.1;
%epsilon = 0.01;
k = 1;

lam(k) = a(k) + (1 - gam)*(b(k) - a(k));
miu(k) = a(k) + gam*(b(k) - a(k));
flam(k) = lam(k)*(lam(k) - 1.5);
fmiu(k) = miu(k)*(miu(k) - 1.5);

while((b(k) - a(k)) > l)
if(flam(k) > fmiu(k))
b(k+1) = b(k);
a(k+1) = lam(k);
lam(k+1) = miu(k);
miu(k+1) = a(k+1) + gam*(b(k+1) - a(k+1));
fmiu(k+1) = miu(k+1)*(miu(k+1) - 1.5);
else
a(k+1) = a(k);
b(k+1) = miu(k);
miu(k+1) = lam(k);
lam(k+1) = a(k+1) + (1 - gam)*(b(k+1) - a(k+1));
flam(k+1) = lam(k+1)*(lam(k+1) - 1.5);
end
k=k+1;
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

No encuentro el error en el código

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 28/12/2021 15:40:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>> busqueda_maximos_minimos_28_12_21
Index exceeds the number of array elements (1).
Error in busqueda_maximos_minimos_28_12_21 (line 16)
    if flam(k) > fmiu(k)
 
>> flam
flam =
   -0.4271
 
>> fmiu
fmiu =
   -0.5451   -0.5623
 
>> k
k =
     2
 
>> flam(2)
Index exceeds the number of array elements (1).
 
 Did you mean:
>> fmiu(2)
ans =
   -0.5623

El problema es: flam(2) no existe por lo tanto no puede hacer comparaciones de la forma flam(2) > fmiu(2) entonces muestra un error en la ventana de comandos de Matlab.


Saludos
JOSE JEREMIAS CABALLERO
Asesoría Online en Proyectos con Matlab
Asesorías online en Métodos Numéricos con Matlab, Octave, Java, Freemat, Scilab , Python, google colab, Excel y C++
Asesorías online por zoom, meet, skype y teams.
[email protected]


https://programacioncaballero.blogspot.com
https://www.facebook.com/programacioncaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar