Sir/Mdm i had a fourier equation need to be evaluate to find THD using matlab code but i am not able to solve this summation using matlab. The required equation which is to be evaluated given below.
and the values of cos angles are
9,20,40,60.
The code i had tried is:
clc;
syms p;
k=symsum(((cosd((2*p-1)*10))/(2*p-1)+(cosd((2*p-1)*22))/(2*p-1)+(cosd((2*p-1)*40))/(2*p-1)+(cosd((2*p-1)*61))/(2*p-1))^2,p,1,50);
j=sqrt(k)/3.14;
double(j)
I am always getting 1 as a solution please help to solve this.

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 3 Mai 2020
Modifié(e) : Ameer Hamza le 3 Mai 2020

0 votes

The solution estimated in your question seems correct. The following shows a numerical solution. Since the series is converging so, I used 100000 terms. You can check that increasing terms have no significant effect on the final sum.
angles = [9, 20, 40, 60];
s1 = @(k) sum(cosd(angles(:).*k(:).'))./k;
s2 = sqrt(sum(s1(3:2:100000).^2));
den = sum(cosd(angles));
result = s2/den;
Result:
result =
0.097311482007934

8 commentaires

omkari sai krishna
omkari sai krishna le 3 Mai 2020
Thank you sir for your help. I am also getting the same answer if i tried for 10. I not able to understand where i had done mistake
omkari sai krishna
omkari sai krishna le 3 Mai 2020
i had seen some of the research papers they had given a numeric solution other than 1 .
Ameer Hamza
Ameer Hamza le 3 Mai 2020
They might be using a different equation. This equation seems to be always converging to some value near 1.
omkari sai krishna
omkari sai krishna le 3 Mai 2020
okay sir i will check it. Thank you for your support sir. It really heps me a lot.
Ameer Hamza
Ameer Hamza le 3 Mai 2020
I am glad to be of help.
omkari sai krishna
omkari sai krishna le 3 Mai 2020
sir is my approach of code to this question is right or wrong?
Ameer Hamza
Ameer Hamza le 3 Mai 2020
Please check my updated answer. I found that there was a mistake. Now it gives different values.
You code, also seems correct. Start the sum k limits from 2 instead of 1
clc;
syms p;
k=symsum(((cosd((2*p-1)*10))/(2*p-1)+(cosd((2*p-1)*22))/(2*p-1)+(cosd((2*p-1)*40))/ ...
(2*p-1)+(cosd((2*p-1)*61))/(2*p-1))^2,p,2,50);
%^ use 2 here
j=sqrt(k)/3.14;
double(j)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by