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.

177 vues (au cours des 30 derniers jours)
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. . . .

Réponses (2)

MUHAMMED IRFAN
MUHAMMED IRFAN le 10 Déc 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 le 25 Fév 2023
how to fix this problem in mimo landas(:,j) = diag(V);

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by