How to plot c(t) vs t

2 次查看(过去 30 天)
vetri veeran
vetri veeran 2014-8-12
评论: Yu Jiang 2014-8-12
How to plot c(t) vs t with these parameters for various values of v
c(t)=c0-c03*k*(1/cmin-1/cmax)*v*u(t)
where,
u(t)=1, t0
0, t<0
Cmin=10e-9
Cmax=10e-6
C0=100e-9
K=10e6
Thanks in advance

采纳的回答

Yu Jiang
Yu Jiang 2014-8-12
编辑:Yu Jiang 2014-8-12
I would first define a function as follows:
function y = Cfun(t, v)
u = double(t>=0);
Cmin = 10e-9;
Cmax = 10e-6;
C0 = 100e-9;
K = 10e6;
C03 = C0; % I don't know what C03 is, so I set it the same as C0.
y = C0-C03*K*(1/Cmin-1/Cmax)*v*u;
end
Then, create a different MATLAB file with the following code
t = linspace(-10,10,100);
y = [];
for v = [1,5,-1,-5]
y = [y; Cfun(t,v)];
end
plot(t,y(1,:),t,y(2,:),t,y(3,:),t,y(4,:))
legend('v=1', 'v=5', 'v=-1', 'v=-5')
Then, you should be able to see the figure as expected.
-Yu
  5 个评论
vetri veeran
vetri veeran 2014-8-12
function y = Cfun(t, v) u = double(t>=0); Cmin = 10e-9; Cmax = 10e-6; C0 = 100e-9; K = 10e6; C03 = C0; % I don't know what C03 is, so I set it the same as C0. y = C0-C03*K*(1/Cmin-1/Cmax)*v*u; end And I typed following given below code in the command window. t = linspace(-10,10,100); y = []; for v = [1,5,-1,-5] y = [y; Cfun(t,v)]; end plot(t,y(1,:),t,y(2,:),t,y(3,:),t,y(4,:)) legend('v=1', 'v=5', 'v=-1', 'v=-5')
Where i am getting an error as Undefined function 'Cfun' for input arguments of type 'double'. I am unable to find the error.can you help me in this regard.
Yu Jiang
Yu Jiang 2014-8-12
Did you put them into to different MATLAB files and execute the script file? It seems to me that you are executing the function file.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by