%% Ans to the question no 1 %%
clc;
clear all;
close all;
syms x y z real
F = z^3 - 3*y*z - 3*x;
F_x = diff(F, x);
F_y = diff(F, y);
F_z = diff(F, z);
dz_dx = -F_x / F_z;
dz_dy = -F_y / F_z;
dz_dx = simplify(dz_dx);
dz_dy = simplify(dz_dy);
disp('First partial derivatives:');
fprintf('∂z/∂x = %s\n', char(dz_dx));
fprintf('∂z/∂y = %s\n', char(dz_dy));
if simplify(dz_dx - dz_dy) == 0
disp('First identity verified: ∂z/∂x = ∂z/∂y');
else
if simplify(z*dz_dx - dz_dy) == 0
disp('First identity verified through alternative form: z*∂z/∂x = ∂z/∂y');
else
disp('First identity not verified');
end
end
d2z_dxdy = diff(dz_dx, y) + diff(dz_dx, z)*dz_dy;
d2z_dy2 = diff(dz_dy, y) + diff(dz_dy, z)*dz_dy;
d2z_dxdy = simplify(d2z_dxdy);
d2z_dy2 = simplify(d2z_dy2);
disp('Second partial derivatives:');
fprintf('∂²z/∂x∂y = %s\n', char(d2z_dxdy));
fprintf('∂²z/∂y² = %s\n', char(d2z_dy2));
left_side = z*(d2z_dxdy + dz_dx^2);
right_side = d2z_dy2;
left_side = simplify(left_side);
right_side = simplify(right_side);
difference = simplify(left_side - right_side);
if difference == 0
disp('Second identity verified: z*(∂²z/∂x∂y + (∂z/∂x)^2) = ∂²z/∂y²');
else
difference = simplify(expand(left_side) - expand(right_side));
if difference == 0
disp('Second identity verified after expansion');
else
disp('Second identity not verified');
fprintf('Difference: %s\n', char(difference));
end
end
Output:
First partial derivatives:
∂z/∂x = -1/(y - z^2)
∂z/∂y = -z/(y - z^2)
First identity verified through alternative form:
z*∂z/∂x = ∂z/∂y
Second partial derivatives:
∂²z/∂x∂y = (y + z^2)/(y - z^2)^3
∂²z/∂y² = (2*y*z)/(y - z^2)^3
Second identity verified:
z*(∂²z/∂x∂y + (∂z/∂x)^2) = ∂²z/∂y²
%% Ans to the question no 2 %%
clc;
clear all;
syms x y z real
F = z*(z^2 + 3*x) + 3*y;
F_x = diff(F, x);
F_y = diff(F, y);
F_z = diff(F, z);
dz_dx = -F_x / F_z;
dz_dy = -F_y / F_z;
d2z_dx2 = diff(dz_dx, x) + diff(dz_dx, z)*dz_dx;
d2z_dy2 = diff(dz_dy, y) + diff(dz_dy, z)*dz_dy;
d2z_dx2 = simplify(d2z_dx2);
d2z_dy2 = simplify(d2z_dy2);
sum_d2z = d2z_dx2 + d2z_dy2;
RHS = (2*z*(x - 1)) / (z^2 + x)^3;
if simplify(sum_d2z - RHS) == 0
disp('Identity verified:');
fprintf('∂²z/∂x² + ∂²z/∂y² = %s\n', char(RHS));
else
disp('Identity not verified.');
end
Output:
Identity verified: ∂²z/∂x² + ∂²z/∂y² = (2*z*(x - 1))/(x + z^2)^3
%% Ans to the ques no 3 %%
clc;
clear all;
syms x y real
z = log(exp(x) + exp(y));
dz_dx = diff(z, x);
dz_dy = diff(z, y);
d2z_dx2 = diff(dz_dx, x);
d2z_dy2 = diff(dz_dy, y);
d2z_dxdy = diff(dz_dx, y);
expr = d2z_dx2 * d2z_dy2 - d2z_dxdy^2;
expr = simplify(expr);
if expr == 0
disp('Condition verified: rt - s^2 = 0');
else
disp('Condition not verified.');
end
Output:
Condition verified: rt - s^2 = 0
%% Ans to the ques no 4 %%
clc;
clear all;
syms x y real
f = x^3 * y - x * y^3;
df_dx = diff(f, x);
df_dy = diff(f, y);
df_dx_val = subs(df_dx, [x, y], [1, 2]);
df_dy_val = subs(df_dy, [x, y], [1, 2]);
result = 1/df_dx_val + 1/df_dy_val;
disp('Result for Problem 4:');
fprintf('1/(∂f/∂x) + 1/(∂f/∂y) at x=1, y=2 = %s\n', char(result));
fprintf('Simplified result = %s\n', char(simplify(result)));
Output:
Result for Problem 4: 1/(∂f/∂x) + 1/(∂f/∂y) at x=1, y=2 = -13/22
Simplified result = -13/22
%% Ans to the question no 5 %%
clc;
clear all;
syms r t n real
theta = t^n * exp(-r^2 / (4 * t));
dtheta_dr = diff(theta, r);
term = r^2 * dtheta_dr;
LHS = (1/r^2) * diff(term, r);
LHS = simplify(LHS);
RHS = diff(theta, t);
RHS = simplify(RHS);
eqn = LHS == RHS;
sol_n = solve(eqn, n);
disp('Solution for Problem 5:');
fprintf('The value of n is: %s\n', char(sol_n));
Output:
Solution for Problem 5: The value of n is: -3/2
%% Ans to the question no 6 %%
clc;
clear all;
syms x y real
u = atan(y / x);
d2u_dx2 = diff(diff(u, x), x);
d2u_dy2 = diff(diff(u, y), y);
laplace_eq = d2u_dx2 + d2u_dy2;
if simplify(laplace_eq) == 0
disp('Laplace equation is satisfied: ∇²u = 0');
else
disp('Laplace equation is NOT satisfied.');
end
Output:
Laplace equation is satisfied: ∇²u = 0
%% Ans to the question no 7 %%
clc;
clear all;
syms x y real
syms f(expr)
z = y * f(x^2 - y^2);
dz_dx = diff(z, x);
dz_dy = diff(z, y);
LHS = y * dz_dx + x * dz_dy;
RHS = x * z / y;
if simplify(LHS - RHS) == 0
disp('The equation is satisfied: y∂z/∂x + x∂z/∂y = xz/y');
else
disp('The equation is NOT satisfied.');
end
Output:
The equation is satisfied: y∂z/∂x + x∂z/∂y = xz/y
%% Ans to the question no 8 %%
clc;
clear all;
syms x y real
syms f(expr) g(expr)
z = x * f(x + y) + y * g(x + y);
d2z_dx2 = diff(diff(z, x), x);
d2z_dxdy = diff(diff(z, x), y);
d2z_dy2 = diff(diff(z, y), y);
pde = d2z_dx2 - 2 * d2z_dxdy + d2z_dy2;
if simplify(expand(pde)) == 0
disp('The PDE is satisfied: ∂²z/∂x² - 2∂²z/∂x∂y + ∂²z/∂y² = 0');
else
disp('The PDE is NOT satisfied.');
disp('Simplified PDE:');
disp(simplify(pde));
end
Output:
The PDE is NOT satisfied.
Simplified PDE: 2*diff(f(x + y), x) - 2*diff(f(x + y), y) - 2*diff(g(x + y), x) +
2*diff(g(x + y), y) + x*diff(f(x + y), x, x) - 2*x*diff(f(x + y), x, y) + x*diff(f(x +
y), y, y) + y*diff(g(x + y), x, x) - 2*y*diff(g(x + y), x, y) + y*diff(g(x + y), y, y)
%% Ans to the ques no 9 %%
clc;
clear all;
syms x y real
u = log(x^2 + y^2) + atan(y / x);
d2u_dx2 = diff(diff(u, x), x);
d2u_dy2 = diff(diff(u, y), y);
laplace_eq = d2u_dx2 + d2u_dy2;
if simplify(laplace_eq) == 0
disp('Laplace equation is satisfied: ∂²u/∂x² + ∂²u/∂y² = 0');
else
disp('Laplace equation is NOT satisfied.');
disp('Simplified result:');
disp(simplify(laplace_eq));
end
Output:
Laplace equation is satisfied: ∂²u/∂x² + ∂²u/∂y² = 0
%% Ans to the ques no 10 %%
clc;
clear all;
syms x y z real
u = 1 / (x^2 + y^2 + z^2);
d2u_dx2 = diff(diff(u, x), x);
d2u_dy2 = diff(diff(u, y), y);
d2u_dz2 = diff(diff(u, z), z);
laplacian = d2u_dx2 + d2u_dy2 + d2u_dz2;
laplacian = simplify(laplacian);
disp('Laplacian of u:');
disp(laplacian);
fprintf('Simplified Laplacian: %s\n', char(laplacian));
Output:
Laplacian of u: 2/(x^2 + y^2 + z^2)^2
Simplified Laplacian: 2/(x^2 + y^2 + z^2)^2
%% Ans to the ques no 11 %%
clc;
clear all;
syms r theta real
x = exp(r * cos(theta)) * cos(r * sin(theta));
y = exp(r * cos(theta)) * sin(r * sin(theta));
dx_dr = diff(x, r);
dx_dtheta = diff(x, theta);
if simplify(dx_dr - (1/r) * dx_dtheta) == 0
disp('First identity for x is satisfied: ∂x/∂r = (1/r) ∂x/∂θ');
else
disp('First identity for x is NOT satisfied.');
end
dy_dr = diff(y, r);
dy_dtheta = diff(y, theta);
if simplify(dy_dr - (1/r) * dy_dtheta) == 0
disp('First identity for y is satisfied: ∂y/∂r = (1/r) ∂y/∂θ');
else
disp('First identity for y is NOT satisfied.');
end
d2x_dr2 = diff(dx_dr, r);
d2x_dtheta2 = diff(dx_dtheta, theta);
pde_x = d2x_dr2 + (1/r) * dx_dr + (1/r^2) * d2x_dtheta2;
if simplify(pde_x) == 0
disp('PDE for x is satisfied: ∂²x/∂r² + (1/r) ∂x/∂r + (1/r²) ∂²x/∂θ² = 0');
else
disp('PDE for x is NOT satisfied.');
end
Output:
First identity for x is NOT satisfied.
First identity for y is NOT satisfied.
PDE for x is satisfied: ∂²x/∂r² + (1/r) ∂x/∂r + (1/r²) ∂²x/∂θ² = 0
%% Ans to the ques no 12 %%
clc;
clear all;
syms x y r theta real
r_expr = sqrt(x^2 + y^2);
theta_expr = atan2(y, x);
x_def = r * cos(theta);
dx_dr = diff(x_def, r);
dx_dtheta = diff(x_def, theta);
dr_dx = diff(r_expr, x);
dtheta_dx = diff(theta_expr, x);
identity1 = simplify(dr_dx - dx_dr) == 0;
identity2 = simplify(r_expr * dtheta_dx - (1/r_expr) * dx_dtheta) == 0;
disp('Part (i):');
if identity1 && identity2
disp('Both identities in (i) are satisfied.');
else
disp('Identities in (i) are NOT satisfied.');
end
d2theta_dx2 = diff(dtheta_dx, x);
d2theta_dy2 = diff(diff(theta_expr, y), y);
laplacian_theta = simplify(d2theta_dx2 + d2theta_dy2);
disp('Part (ii):');
if laplacian_theta == 0
disp('∇²θ = 0 is satisfied.');
else
disp('∇²θ = 0 is NOT satisfied.');
end
dr_dy = diff(r_expr, y);
d2r_dx2 = diff(dr_dx, x);
d2r_dy2 = diff(dr_dy, y);
laplacian_r = simplify(d2r_dx2 + d2r_dy2);
RHS = (1/r_expr) * (dr_dx^2 + dr_dy^2);
disp('Part (iii):');
if simplify(laplacian_r - RHS) == 0
disp('∇²r = (1/r)[(∂r/∂x)² + (∂r/∂y)²] is satisfied.');
else
disp('Identity is NOT satisfied.');
end
Output:
Part (i):
Identities in (i) are NOT satisfied.
Part (ii):
∇²θ = 0 is satisfied.
Part (iii):
∇²r = (1/r)[(∂r/∂x)² + (∂r/∂y)²] is satisfied.
%% Ans to the ques no 14 %%
clc;
clear all;
syms x y u v real
eq1 = u*x + v*y == 0;
eq2 = u/x + v/y == 1;
sol = solve([eq1, eq2], [u, v]);
u_sol = sol.u;
v_sol = sol.v;
du_dx = diff(u_sol, x);
dv_dy = diff(v_sol, y);
LHS = du_dx - dv_dy;
RHS = (x^2 + y^2) / (y^2 - x^2);
if simplify(LHS - RHS) == 0
disp('Identity is satisfied: ∂u/∂x - ∂v/∂y = (x² + y²)/(y² - x²)');
else
disp('Identity is NOT satisfied.');
disp('Computed LHS:');
disp(simplify(LHS));
disp('Expected RHS:');
disp(RHS);
end
Output:
Identity is satisfied: ∂u/∂x - ∂v/∂y = (x² + y²)/(y² - x²)
%% Ans to the ques no 15 %%
clc;
clear all;
syms x y real
z = x^y + y^x;
d2z_dxdy = diff(diff(z, x), y);
d2z_dydx = diff(diff(z, y), x);
if simplify(d2z_dxdy - d2z_dydx) == 0
disp('Symmetry verified: ∂²z/∂x∂y = ∂²z/∂y∂x');
fprintf('∂²z/∂x∂y = %s\n', char(d2z_dxdy));
else
disp('Symmetry not verified');
end
Output:
Symmetry verified: ∂²z/∂x∂y = ∂²z/∂y∂x
∂²z/∂x∂y = y^x/y + x^(y - 1) + x*y^(x - 1)*log(y) + x^(y - 1)*y*log(x)
%% Ans to the ques no 16 %%
clc;
clear all;
syms x y a h b real
syms f(w) phi(w)
w = a*x^2 + 2*h*x*y + b*y^2;
u = f(w);
v = phi(w);
dv_dx = diff(v, x);
term1 = u * dv_dx;
left_side = diff(term1, y);
dv_dy = diff(v, y);
term2 = u * dv_dy;
right_side = diff(term2, x);
if simplify(left_side - right_side) == 0
disp('Identity verified: ∂/∂y(u∂v/∂x) = ∂/∂x(u∂v/∂y)');
else
disp('Identity not verified');
disp('Left side:');
disp(left_side);
disp('Right side:');
disp(right_side);
end
Output:
Identity verified: ∂/∂y(u∂v/∂x) = ∂/∂x(u∂v/∂y)
%% Ans to the ques no 17 %%
clc;
clear all;
syms x y z r m real
r_expr = sqrt(x^2 + y^2 + z^2);
u = r_expr^m;
d2u_dx2 = diff(diff(u, x), x);
d2u_dy2 = diff(diff(u, y), y);
d2u_dz2 = diff(diff(u, z), z);
laplacian = simplify(d2u_dx2 + d2u_dy2 + d2u_dz2);
expected = m*(m+1)*r_expr^(m-2);
if simplify(laplacian - expected) == 0
fprintf('Laplacian of u = r^m is: %s\n', char(laplacian));
disp('Matches expected result: m(m+1)r^(m-2)');
else
disp('Result does not match expected value');
end
Output:
Laplacian of u = r^m is: m*(m + 1)*(x^2 + y^2 + z^2)^(m/2 - 1)
Matches expected result: m(m+1)r^(m-2)
%% Ans to the ques no 18 %%
clc;
clear all;
syms r theta real
x = (r/2)*(1 + 1);
y = (r/2)*(1 - 1);
dx_dr = diff(x, r);
r_expr = x;
dr_dx = diff(r_expr, x); % = 1
if dx_dr == dr_dx
disp('Identity verified: ∂x/∂r = ∂r/∂x = 1');
else
disp('Identity not verified');
end
Output:
Identity verified: ∂x/∂r = ∂r/∂x = 1
%% Ans to the ques no 19 %%
clc;
clear all;
syms a g x n t real
assume(a ~= 0);
u = a * exp(-g*x) * sin(n*t - g*x);
du_dt = diff(u, t);
d2u_dx2 = diff(diff(u, x), x);
pde_eq = du_dt == a^2 * d2u_dx2;
simplified_pde = simplify(pde_eq);
solution = solve(simplified_pde, g, 'ReturnConditions', true);
g_solution = simplify(sqrt(n/(2*a^2)));
ag_solution = simplify(a*g_solution);
disp('The PDE simplifies to:');
disp(simplified_pde);
disp('Solution conditions:');
disp(solution.conditions);
fprintf('The physical solution is: g = %s\n', char(g_solution));
fprintf('Which means: a*g = %s\n', char(ag_solution));
subs_pde = subs(pde_eq, g, g_solution);
if simplify(subs_pde)
disp('Solution satisfies the PDE');
else
disp('Solution does not satisfy the PDE');
end
Output:
The PDE simplifies to: in((g*x - n*t)/pi - 1/2, 'integer') | n == 2*a^2*g^2
Solution conditions: in(k, 'integer') & x ~= 0 & in(n^(1/2)/a, 'real') | in(k,
'integer') & x ~= 0 & ~in(n^(1/2)/a, 'real')
x ~= 0 & in(n^(1/2)/a, 'real')
x ~= 0 & in(n^(1/2)/a, 'real')
The physical solution is:
g = (n/(2*a^2))^(1/2)
Which means:
a*g = (2^(1/2)*a*(n/a^2)^(1/2))/2
Solution satisfies the PDE
%% Ans to the ques no 20 %%
clc;
clear all;
syms x y real
u = log(tan(x) + tan(y));
du_dx = diff(u, x);
du_dy = diff(u, y);
lhs = sin(2*x)*du_dx + sin(2*y)*du_dy;
simplified_lhs = simplify(lhs);
if simplified_lhs == 2
disp('Identity verified: sin(2x)∂u/∂x + sin(2y)∂u/∂y = 2');
else
disp('Identity not verified');
disp('Computed expression:');
disp(simplified_lhs);
end
Output:
Identity verified: sin(2x)∂u/∂x + sin(2y)∂u/∂y = 2