Array indices must be positive integers or logical values.

hey, im new in matlab.
I have attached the original question and my solution is written below:
clc; clear;
%t = linspace(0,2,100);
t= (0:0.05:2);
V=12;
R=4;
L=1.3;
g= zeros(1,length(t));
for j=t
if j<=0.5
g(j)=((V\R)*(1-(exp((-R*j)\L))));
else
g(j)=(exp((-R*j)\L)*(V\R)*(exp((0.5*R)\L)-1));
end
end

Réponses (1)

KSSV
KSSV le 3 Mai 2019
Modifié(e) : KSSV le 3 Mai 2019
Note that the index of array cannot be zero, negative and fraction...so the error.
%t = linspace(0,2,100);
t= (0:0.05:2);
V=12;
R=4;
L=1.3;
g= zeros(1,length(t));
for j=1:length(t)
if t(j)<=0.5
g(j)=((V\R)*(1-(exp((-R*j)\L))));
else
g(j)=(exp((-R*j)\L)*(V\R)*(exp((0.5*R)\L)-1));
end
end

2 commentaires

Thank you for your answer,
can you show me how i can rewrite the code and make it work?
I gave you the code right?

Connectez-vous pour commenter.

Catégories

Commenté :

le 4 Mai 2019

Community Treasure Hunt

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

Start Hunting!

Translated by