Problem with a code
1 view (last 30 days)
Show older comments
Hi, I need to find out the minimum N so that Eg<10^(-7). I got that N=199...and it's to much... Can anyone help me what is the problem with my code?
Thanks,
<<
>>
2 Comments
James Tursa
on 24 May 2015
Please don't post your code as an image ... it forces the reader to type your code in by hand in order to run it, and nobody wants to do that. Please re-post your code as text and use the { } Code button to format it.
Accepted Answer
Stephen23
on 25 May 2015
Edited: Stephen23
on 25 May 2015
hy = 1/2000;
mv = 0:5000;
den = sqrt(sum((1-(2/5*mv*hy).^2).^2));
pfx = @(nv) (-1).^nv ./ (2*nv + 1).^3;
trg = @(nv) bsxfun(@times, (2*nv+1)/5, pi*mv*hy);
foo = @(nv) bsxfun(@times, pfx(nv), cos(trg(nv)));
bar = @(nv) sqrt(sum((32/pi^3 * sum(foo(nv)) - (1-(2/5*mv*hy).^2)).^2));
fun = @(N) bar((0:N)') / den;
First lets take a look at the function:
>> X = 1:300; % range of N values
>> Y = arrayfun(fun, X);
>> semilogy(X,Y)
And now the first value <1e-7 occurs for an N of:
>> Z = Y<1e-7;
>> X(find(Z,1,'first'))
ans =
198
More Answers (0)
See Also
Categories
Find more on Environment and Settings in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!