complex sine graph plotting I need help
Mostra commenti meno recenti
my complex sine graph is 1050 points. I want it to be just 100 points for some other math calculations. here is the function. can someone please fix it for me so that stpFunc is 100 instead of 1050 and still graphs similarly, thanks a ton!
n = 1050;
w = [0:.005:1-0.005]';
w=repmat(w,5,1); %repmat(w,10,1);
w=[zeros(50,1);w];
t=[zeros(50,1)];
for i=1:5 %10
t=[t;i*ones(200,1)];
end
stpFunc = sin(2*pi*w.*t);
complex_sine = stpFunc'
figure; plot(stpFunc,'linewidth',3);
2 Commenti
Azzi Abdelmalek
il 22 Lug 2016
Modificato: Azzi Abdelmalek
il 22 Lug 2016
Can you explain what your code is doing?
Osita Onyejekwe
il 22 Lug 2016
Risposte (2)
Star Strider
il 22 Lug 2016
I do not understand everything you are doing. If you want ‘w’ to have a length of 100, use the linspace function:
w = linspace(0, 1, 100);
I cannot follow what you are doing with the rest of your code, so you will have to change it to work with the new ‘w’.
4 Commenti
Osita Onyejekwe
il 22 Lug 2016
Star Strider
il 22 Lug 2016
This interpolates the original to be a length of 100, but even using the 'spline' interpolation method, the undersampling does not reproduce the original look of the function.
n = 1050;
w = [0:.005:1-0.005]';
w=repmat(w,5,1); %repmat(w,10,1);
w=[zeros(50,1);w];
t=[zeros(50,1)];
for i=1:5 %10
t=[t;i*ones(200,1)];
end
stpFunc0 = sin(2*pi*w.*t); % Original ‘stpFunc’
stpFunci = linspace(1, length(stpFunc0), 100); % Interpolation Vector
stpFunc = interp1([1:length(stpFunc0)],stpFunc0,stpFunci,'spline'); % Interpolated ‘stpFunc’
complex_sine = stpFunc';
figure; plot(stpFunc,'linewidth',3);
Osita Onyejekwe
il 22 Lug 2016
Star Strider
il 22 Lug 2016
My pleasure!
If my Answer solved your problem, please Accept it.
Osita Onyejekwe
il 22 Lug 2016
0 voti
Categorie
Scopri di più su Spline Postprocessing in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!