How do I avoid the mistake?
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Alisa-Oleksandra Kotliarova
 el 11 de Dic. de 2023
  
    
    
    
    
    Comentada: Alisa-Oleksandra Kotliarova
 el 13 de Dic. de 2023
            I have the following function:
function [x,y,k] = Hord(fun,a,b,tolx,toly)
ya=feval(fun,a);
k=0;
while 1
    k=k+1;
    x=(a*fun(b)-b*fun(a))./(fun(b)-fun(a));
    y=feval(fun,x);
    if(x(k)-x(k-1)<=tolx)&(abs(y)<=toly), break, end
    if y*ya>0; a=x; ya=y;
    else b=x;
    end
end
Then my code is:
clc, clear all, close all, format short
x1=linspace(-pi/2,pi/2);%Заданий інтервал значень;
y1=cos(x1+0.3)-x1.^2;%Функція 1;
figure(1), plot(x1,y1,[-pi/2,pi/2], [0,0]),grid on, hold on%Графік;
f1=(@(x1) cos(x1+0.3)-x1.^2);%Анонімне задання функції 1;
format long
[X1,Y1] = Hord(f1, 0, pi/2, 1e-3, eps);%Перший додатний корінь;
X1,Y1%Виведення кореня;
plot(X1,Y1,'o','r--')%На графіку;
It should output the graph with a root, however, it only gives:
Array indices must be positive integers or logical values.
Error in Hord (line 9)
    if(x(k)-x(k-1)<=tolx)&(abs(y)<=toly), break, end
Error in Lab7_var2 (line 36)
[X1,Y1] = Hord(f1, 0, pi/2, 1e-3, eps);%Перший додатний корінь;
 How can I correct it?
0 comentarios
Respuesta aceptada
Más respuestas (1)
  Image Analyst
      
      
 el 13 de Dic. de 2023
        There is a thorough discussion in the FAQ: https://matlab.fandom.com/wiki/FAQ#%22Subscript_indices_must_either_be_real_positive_integers_or_logicals.%22
Ver también
Categorías
				Más información sobre Matrix Indexing en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


