- Since "x0", "y0" and "m" are supposed to be handled numerically, they should not be defined as symbolic variables.
- To find the slope function, "yprime" should be the first derivative of "f(x)" and for its evaluation, you can utilize the "subs" function finding the slope at "x0".
- As of MATLAB R2024a, the "ezplot" function has been deprecated, hence "fplot" should be used instead for compatibility.
Derivatives using second diff
조회 수: 2 (최근 30일)
이전 댓글 표시
% This program computes for the Tangent Line / Normal Line of a curve % about a given point
%define x for symbolic processing
syms x y f(x) x0 y0 m
%IDENTIFY the function f(x)
f(x) = (4*x^2)-(2*x) + 1;
%DETERMINE the point of tangency (This will be a random point)
x0=randi([-5,5])
%SOLVE for the Ordinate of the point of tangency
y0=f(x0); %Evaluate y given value fo x
y = (4*x0^2)-(2*x0) + 1;
%FIND the slope function
yprime(x) = diff(f(x)); %Solve for the first derivative
%Determine the slope at the given x0
m(x)= diff(y); %Evaluate the slope
%Solve the equation of the tangent line
ytangent= m*(x-x0)+y0
%Solve the Equation of the normal line
ynormal= (-1.\m)*(x-x0)+y0
%DISPLAYING RESULTS
fprintf('The tangent line to f(x)=%s at (%.2f, %.2f) is y = %s \n',string(f(x)),x0,y0, string(ytangent))
fprintf('The normal line to f(x)=%s at (%.2f, %.2f) is y = %s \n',string(f(x)),x0,y0, string(ynormal))
%PLOTTING
g1=ezplot(f,[-15,15]);
set(g1,'color','b')
grid on
hold on
plot(x0,y0,'r*')
text(x0+1,y0,"Point of Tangency")
g2=ezplot(ytangent,[-15,15]);
text(5,5,["y(Tangent)=", string(ytangent)])
pause(1)
set(g2,'color','m')
pause(1)
g3=ezplot(ynormal,[-15,15]);
text(3,3,["y(Normal)=", string(ynormal)])
set(g3,'color','c');
title("Tangent Line and Normal Line")
Unable to perform assignment because the left and right sides have a different number of elements.
Variable ytangent has an incorrect value.
Variable ynormal has an incorrect value.
Please help me to correct my codes for ytangent and ynormal
댓글 수: 0
답변 (1개)
Divyam
2024년 9월 10일
The following issues in the MATLAB code are causing the errors:
Here is the corrected code for computing the Tangent Line and Normal Line of a curve about a given point:
% This program computes for the Tangent Line / Normal Line of a curve about a given point
% Define x for symbolic processing
syms x f(x)
% IDENTIFY the function f(x)
f(x) = (4*x^2) - (2*x) + 1;
% DETERMINE the point of tangency (This will be a random point)
x0 = randi([-5, 5]);
% SOLVE for the Ordinate of the point of tangency
y0 = f(x0); % Evaluate y given value for x
% FIND the slope function
yprime = diff(f, x); % Solve for the first derivative
% Determine the slope at the given x0
m = double(subs(yprime, x, x0)); % Evaluate the slope at x0
% Solve the equation of the tangent line
ytangent = m * (x - x0) + y0;
% Solve the Equation of the normal line
ynormal = (-1/m) * (x - x0) + y0;
% DISPLAYING RESULTS
fprintf('The tangent line to f(x)= %s at (%.2f, %.2f) is y = %s \n', string(f(x)), x0, y0, string(ytangent));
fprintf('The normal line to f(x)= %s at (%.2f, %.2f) is y = %s \n', string(f(x)), x0, y0, string(ynormal));
% PLOTTING
figure;
hold on;
fplot(f, [-15, 15], 'b');
plot(x0, y0, 'r*');
text(x0, y0 + 100, "Point of Tangency");
fplot(ytangent, [-15, 15], 'm');
text(5, 5, ["y(Tangent)=", string(ytangent)]);
fplot(ynormal, [-15, 15], 'c');
text(-5, -50, ["y(Normal)=", string(ynormal)]);
grid on;
title("Tangent Line and Normal Line");
hold off;
For more information regarding the "fplot" and "subs" functions, refer to the following documentation:
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Calculus에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!