Array indices must be positive integers or logical values.

1 view (last 30 days)
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

Answers (1)

KSSV
KSSV on 3 May 2019
Edited: KSSV on 3 May 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 Comments
yoav raytz
yoav raytz on 3 May 2019
Thank you for your answer,
can you show me how i can rewrite the code and make it work?

Sign in to comment.

Categories

Find more on Creating and Concatenating 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!