How do I avoid the mistake?
    조회 수: 5 (최근 30일)
  
       이전 댓글 표시
    
    Alisa-Oleksandra Kotliarova
 2023년 12월 11일
  
    
    
    
    
    댓글: Alisa-Oleksandra Kotliarova
 2023년 12월 13일
            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
채택된 답변
추가 답변 (1개)
  Image Analyst
      
      
 2023년 12월 13일
        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
참고 항목
카테고리
				Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
			
	제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


