MATLAB [Matlab] Ideal Diode (Vector Graph)?

Click For Summary
The discussion revolves around a novice's struggle with a MATLAB problem in an introductory engineering course. The user is attempting to plot a voltage function based on a mathematical expression but is encountering issues resulting in a blank or flat graph. The main points of confusion include the use of the loop and conditional statements. It is suggested that the user is misusing the variable assignments, particularly with the lines where they set vs(k) to vL and mistakenly assign vL to zero, which would affect the entire vector. The correct approach should involve assigning values to vL(k) instead. The user is encouraged to clarify these assignments to resolve the plotting issue and achieve the desired graph output.
qwrax
Messages
1
Reaction score
0
Hello, I am a novice in an introductory engineering problem solving course using matlab, and I'm having a bit of a problem.
I have attached a screenshot. I know this is supposed to be pretty basic stuff, But I am hung up on it.


Now, what I have so far:


t=(0:0.01:10);
vs=3*exp(-t/3).*(sin(pi*t));

for k=1:1:length(t);

if vs(k) > 0;
vs(k)=vL;

else vs(k)<= 0;
vL=0;

end
end



disp(vL)
plot(t,vL)
xlabel('Seconds')
ylabel('Voltage')
title('Problem 2(Part A)')

Obviously I am doing something very wrong, as when it plots, I get nothing, the graph appears blank, or is a straight horizontal line at (0,0) or something. I am having trouble narrowing it down, I think the problem lies within the % for k=1:1:length(t), and the %else, or maybe I am simply doing everything wrong to begin with.

If anyone could shed a little light, or give a nudge in the correct direction, I would be greatly appreciative. I have also attached for what the graph is supposed to look like.
 

Attachments

  • Capture.PNG
    Capture.PNG
    22.3 KB · Views: 974
  • graph.PNG
    graph.PNG
    1.4 KB · Views: 774
Last edited:
Physics news on Phys.org
I think you keep getting Vs and VL confused

if vs(k) > 0;
vs(k)=vL;

shouldn't it be vL(k)=vs(k)?

Also, vL=0 will set the whole vector to zero; I think you mean vL(k)=0;
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 9 ·
Replies
9
Views
5K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K