In this program i want to assign C(0)=c0 and i need to plot values of C(t) from t=0 to 6. Also i need to plot the values of C(t) for v=1,5,-1,-5. I got an error as Attempted to access c(0)index must be a positive integer or logical. anyone help me?

1 view (last 30 days)
clear all;
k=10e6;
cmin=10e-9;
cmax=10e-6;
c0=100e-9;
v=1;
for t=1:6
C(t)=c0-sqrt(1+(2*c0^2*k*(1/cmin-1/cmax)*v*t));
end
plot(t,C,'r');

Accepted Answer

Image Analyst
Image Analyst on 21 Aug 2014
Edited: Image Analyst on 21 Aug 2014
Your code does not generate that error message, but in general, indexes in MATLAB start at 1 not 0 like in C and some other languages.
clc; % Clear the command window.
close all; % Close all figures.
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
fontSize = 22;
k=10e6;
cmin=10e-9;
cmax=10e-6;
c(1)=100e-9;
v=1;
for t=1:6
c(t+1) = c(1)-sqrt(1+(2*c(1)^2*k*(1/cmin-1/cmax)*v*t));
end
t = 0 : 6;
plot(t, c , 'rd-', 'LineWidth', 2);
grid on;
xlabel('t', 'FontSize', fontSize);
ylabel('c', 'FontSize', fontSize);
  2 Comments
vetri veeran
vetri veeran on 21 Aug 2014
Thank you for the answer. In the same graph, I need to plot the values of C(t) for different values of v=1,5, -1,-5.how this can be done to the above code.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!