MATLAB Answers

WHich loops or command should i use in order to plot this equation? It has 3 variables: v,x,t

1 view (last 30 days)
Parth Patel
Parth Patel on 15 Apr 2020
Commented: Mehmed Saad on 16 Apr 2020

  0 Comments

Sign in to comment.

Answers (1)

Mehmed Saad
Mehmed Saad on 15 Apr 2020
Edited: Mehmed Saad on 15 Apr 2020
define x,t of same length i.e. select a sampling rate
fs = 10;%Hz
Now define time
t = 0:1/fs:100-1/fs;
x = linspace(0,2*pi,length(t));
i_t = 1.414*sin(w*t+phi);
Now Run the for loop for t
i = 1:length(x)
Now index 1 by 1 and sum them
Remember there are two nested for loop, 1 is for v and other for t

  2 Comments

Parth Patel
Parth Patel on 16 Apr 2020
Hi Saad, thankyou very much for the explaination.
My doubt is , dont we need another loop for x as well?
So total 3 - loops:
  1. for x
  2. for t
  3. .for v (harmonics)?
Also in which order should i organise x, t,v in for loop?
Here is the code ,that i tried:
fs = 10;%Hz, sampling frequency
f=60 ; %Hz, supply frequency of current
w=2*pi*f;
t = 0:1/fs:100-1/fs;
x = linspace(0,2*pi,length(t)); % samples of the postion of rotor in radians
phi=0;
i_t = 1.414*sin(w*t+phi);
v=1:2:5; % order of harmoinics to be considered
b=1:length(v); % indexing the elements in v
res= []; % result matrix as an empty matrix
for i =1:length(x)
for b= 1:length(v)
res(b,i)= i_t(i)*cos(v(b)*x); % result variable
end
end
Mehmed Saad
Mehmed Saad on 16 Apr 2020
  1. yes you need another loop for x
  2. you can nest for loop as x t and v or t x and v
  3. You should follow nyquist rate as your frequency is 60Hz so you need atleast 120Hz fs
  4. x size can differ from t, it is not necessary

Sign in to comment.


Translated by