I am having this error "Index in position 2 is invalid. Array indices must be positive integers or logical values." in my file. Can you please help me in resolving this.

179 views (last 30 days)
I am very new to matlab and am having some syntax errors. The code is due for submission in a few days. I will be very grateful for solution. . . .

Answers (2)

MUHAMMED IRFAN
MUHAMMED IRFAN on 10 Dec 2018
In MATLAB, array indexing starts at 1(not zero).
Inside the function Duffusion() you have a number of for loops in each if-else cases.
for i = 1:(length(x)-1) % Iterate over tri diagonal
L(i,i) = 2/(delta^2)+SigmaA/D; % Diagonal Terms
L(i,i+1) = -1/(delta^2); % Above diagonal term
L(i,i-1) = -1/(delta^2); % Below diagonal term
end
In each of these for loops, you iterate the value of i from 1 to something. But when i=1, you have L(i,i-1) as L(1,0) which is invalid in MATLAB. And thus the error.

Andualem
Andualem on 25 Feb 2023
how to fix this problem in mimo landas(:,j) = diag(V);

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!