Matlab doesn't like my function, why?
古いコメントを表示

Does anyone know what i am doing wrong here. i am trying to plot my amplitudes of my fourier series from 0-15 my bn is only a number when odd which explains my matrix.
採用された回答
その他の回答 (1 件)
Dyuman Joshi
2024 年 1 月 2 日
編集済み: Dyuman Joshi
2024 年 1 月 2 日
1 投票
The element-wise operators to be used here are ./ and .* (There is .^ in addition), see - Array vs Matrix Operations
Also, while defining the variable C - the letters a, b of An, Bn are supposed to be uppercase, and, n of plot C vs N should be lowercase. MATLAB is case sensitive.
And the syntax of calling plot() is incorrect. Take a look at the documentation page to learn the acceptable syntaxes of the function plot() here - https://in.mathworks.com/help/matlab/ref/plot.html
If you are new to MATLAB, I suggest you take the free MATLAB Onramp tutorial to learn the fundamentals/basics of MATLAB along with the notation/syntax.
9 件のコメント
AB29
2024 年 1 月 2 日
You need to directly use n -
n = 1:2:15;
A = 3;
An = (A./(pi.*n)).*(sin(pi*n) - sin(0));
Bn = (-A./(pi.*n)).*(cos(pi*n) - cos(0));
C = sqrt(An.^2 + Bn.^2);
plot(n, C)
AB29
2024 年 1 月 2 日
Dyuman Joshi
2024 年 1 月 2 日
Since sum of squares is positive, thus its sqrt() is also positive.
Please state/share -
> What the expected output is.
> The mathematical formula/expression that you are trying to code for An and Bn.
Steven Lord
2024 年 1 月 2 日
Since you're computing the sine and cosine of multiples of pi, I'd use the sinpi and cospi functions instead of sin and cos. Or if you're trying to compute degree-based sine and cosine, use sind and cosd instead of trying to convert the angles in degrees to radians manually. As for your last calculation, C, use hypot.
AB29
2024 年 1 月 2 日
C1 = sqrt(0.908^2 + (-0.705)^2)
C2 = sqrt((-0.281)^2 + (-0.614)^2)
C3 = sqrt((-0.187)^2 + (-1.26)^2)
Dyuman Joshi
2024 年 1 月 3 日
@AB29, the signs should be positive, as squaring a negative value results in a positive value.
AB29
2024 年 1 月 3 日
カテゴリ
ヘルプ センター および File Exchange で Graphics Performance についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



