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.

 採用された回答

Ameer Hamza
Ameer Hamza 2020 年 5 月 3 日
編集済み: Ameer Hamza 2020 年 5 月 3 日

0 投票

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 件のコメント

omkari sai krishna
omkari sai krishna 2020 年 5 月 3 日
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 2020 年 5 月 3 日
i had seen some of the research papers they had given a numeric solution other than 1 .
Ameer Hamza
Ameer Hamza 2020 年 5 月 3 日
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 2020 年 5 月 3 日
okay sir i will check it. Thank you for your support sir. It really heps me a lot.
Ameer Hamza
Ameer Hamza 2020 年 5 月 3 日
I am glad to be of help.
omkari sai krishna
omkari sai krishna 2020 年 5 月 3 日
sir is my approach of code to this question is right or wrong?
Ameer Hamza
Ameer Hamza 2020 年 5 月 3 日
Please check my updated answer. I found that there was a mistake. Now it gives different values.
Ameer Hamza
Ameer Hamza 2020 年 5 月 3 日
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)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by