Contests
Follow



It is crucial to understand that this expression could be used in problems related to engineering, physics, mathematics, or any other aspect of real life.
Typically, Matlab is used to solve PDE and ODE problems. Perhaps users calculated this term 0^0 incorrectly in the process.
>> % Reviewed by Bewar Yousif Ali
>> % How to fix this problem 0^0 in Matlab !?
>> % Mathematically, x^0=1 if x≠0 is equal 1 else undefined(NaN)
>> 0^0
ans =
1
>> f=@(x,y) x^y;
>> f(0,0)
ans =
1
>> v=[2 0 5 -1];
>> v.^0
ans =
1 1 1 1
JAMEEL
JAMEEL
Last activity about 22 hours ago

% Given data
x = [2.0, 3.0, 6.5, 8.0, 12, 15];
f = [14, 20, 17, 16, 23, 125];
% Construct the cubic spline
h = diff(x);
A = zeros(length(x)-2);
for i = 1:length(x)-2
A(i,i) = 2*h(i) + 2*h(i+1);
A(i,i+1) = h(i+1);
A(i+1,i) = h(i);
A(i+1,i+1) = 2*h(i) + h(i+1);
end
b = [6*(f(2)-f(1))/h(1) + 6*(f(3)-f(2))/h(2);
6*(f(4)-f(3))/h(3) + 6*(f(5)-f(4))/h(4)];
M = A\b;
% Evaluate the second derivative at data points
d2f_dx2 = zeros(length(x),1);
for i = 1:length(x)-2
d2f_dx2(i) = M(i);
d2f_dx2(i+1) = M(i) + h(i)*M(i+1);
d2f_dx2(i+2) = M(i) + 2*h(i)*M(i+1) + h(i)*h(i)*M(i+2);
end
% Display second derivatives at data points
disp('Second Derivatives at Data Points:');
disp(d2f_dx2);
i've finished writing the code for my ~masterpiece~ and it doesn't run on the contest new entry page. it runs on matlab on my desktop and in the matlab live editor in my browser, but not where i really need it to. usually it'll draw the first frame the first time i run the code in a new window, but not any subsequent times. whether i hit "run" or "create animation", the screen grays out as it's supposed to, but then returns to normal without generating the first frame or animation.
i'm not getting a timeout warning or any error messages. i timed the code on my laptop and it takes about 100ish seconds to run and generate the animation the first time i run it before clearing everything from my workspace (and then it takes about twice as long each subsequent time, which makes me a bit nervous. can't figure out why this is the case at all!), which is well within the 255 second limit for the contest. as far as i know, the most computationally expensive function i'm using is patch(). i'm pretty close to the character limit, but i don't know if that's part of the problem.
i tried vectorizing some of the code instead of using for loops, which made the code run slightly slower. i tried using a nested function instead of using drawframe() and an auxiliary function, but that didn't help. i tried clearing all variables except f at the end of drawframe() to no avail. i tried using the close command at the start of drawframe(), with similar success. i updated chrome, closed a bunch of windows, tried safari, used my sister's laptop, all with no luck.
has anyone else had this or a similar problem? any advice?
thanks!
Nahin
Nahin
Last activity on 19 Nov 2023 at 1:45

a = 0; % lower limit
b = 1; % upper limit
exact_integral = log(2); % Exact integral value
f = @(x) 1/(1+(x.^2));
fprintf('Integration of x*sqrt(1-x^2) from %d to %d:\n\n', a, b);
% Initialize arrays to store data for the log-log plot
N_values = [];
relative_precision_simpson = [];
fprintf('%-20s %-20s %-20s\n', 'N', 'Extended Simpson', 'Relative Precision');
for N = 2:20
SN = extended_simpson(f, a, b, N);
relative_precision_simpson = [relative_precision_simpson, abs((SN - exact_integral)/exact_integral)];
fprintf('%-20d %-20e %-20e\n', N, SN, abs((SN - exact_integral)/exact_integral));
N_values = [N_values, N];
end
loglog(N_values, relative_precision_simpson, '-o');
xlabel('Number of Sub-intervals (N)');
ylabel('Relative Precision');
legend('Extended Simpson');
title('Log-log Plot of Relative Precision vs Number of Sub-intervals');
grid on;
function S2N = extended_simpson(func, a, b, n)
if n < 0
error('Negative n in extended_simpson');
elseif n == 0
S2N = (b - a) * (feval(func, a) + 4 * feval(func, (a + b) / 2) + feval(func, b)) / 6;
else
h = (b - a) / 2^n; % initial step size
x_vals = a:h:b; % partition points
S2N = feval(func, a) + feval(func, b);
for i = 1:(2^n - 1)
x = x_vals(i);
if mod(i,2) == 0
S2N = S2N + 4 * feval(func, x);
else
S2N = S2N + 2 * feval(func, x);
end
end
S2N = h / 3 * S2N;
end
end
The code above shows a upward trend for the Simpson's rule with the given function. However, it should show a downward trend for the relative precision. What could be the problem here?

Greetings great community I need help with 2D or 3D grid formation in MATLAB and how to assign charge particles on each cell that constitutes the entire grid

Vinay Ramesh
Vinay Ramesh
Last activity on 21 Nov 2023 at 12:50

Dedicated to all Flipbook contest lovers! :D
Josh
Josh
Last activity on 14 Nov 2023 at 0:00

Loving all the animations I'm seeing so far and feeling so inspired and impressed by what y'all are sharing. Thanks for loading me up with new topics to learn about!
Unlike last year's contest, there are some new technologies this year that might offer some advantages. Namely generative AI's like ChatGPT, Bard, etc. Not to be excluded, MathWorks just launched the AI Chat Playground :)