Matlab doesn't like my function, why?
Ältere Kommentare anzeigen

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.
Akzeptierte Antwort
Weitere Antworten (1)
Dyuman Joshi
am 2 Jan. 2024
Bearbeitet: Dyuman Joshi
am 2 Jan. 2024
1 Stimme
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 Kommentare
AB29
am 2 Jan. 2024
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
am 2 Jan. 2024
Dyuman Joshi
am 2 Jan. 2024
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
am 2 Jan. 2024
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
am 2 Jan. 2024
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
am 3 Jan. 2024
@AB29, the signs should be positive, as squaring a negative value results in a positive value.
AB29
am 3 Jan. 2024
Kategorien
Mehr zu Inertial Sensor Fusion finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



