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 中查找有关 Inertial Sensor Fusion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



