Work done by vectors
5 views (last 30 days)
Show older comments
clc
clear all
close all
syms x y z t
F=input('Enter the force components in cartesian co ordinates: ');
C=input('Enter the parametric form of curve C(t): ');
L=input('Enter the limits of parameter L: ');
T=linspace(L(1),L(2),101);
X=(subs(C(1),t,T));%x-coponent of c(t)
Y=(subs(C(2),t,T));%y-component of c(t)
xL=[min(X)-0.2,max(X)+0.2];%setting up x-limits for plotting purrpose
yL=[min(Y)-0.2,max(Y)+0.2];%setting up y-limits for plotting purrpose
if numel(F) ==2
FF=subs(F,{x,y},C);%calculating F(C(t)) for use in line integral
vect2D(F,xL,yL);hold on;%calling vect2D function to draw vector field
plot(X,Y,'-r','LineWidth',2)%plotting the curve C
elseif numel(F)==3
FF=subs(F,{x,y,z},C);
Z=(subs(C(2),t,T));
zL=[min(Z)-0.2,max(Z)+0.2];%setting up z-limits for plotting purrpose
vect3D(F,xL,yL,zL);hold on;%calling vect3D function to draw vector field
plot3(X,Y,Z,'-r','LineWidth',2);%plotting the curve C
else
disp('Function entered is not 2D or 3D vwctor field');
return
end
axis on;
xlabel('x')
ylabel('y')
zlabel('z')
intgrnd=inline(vectorize(dot(FF,diff(C,t))),'t');
WD=quad(intgrnd,L(1),L(2));
disp(['the work done by the force field is: ',num2str(WD)]);
%please find me appropriate inputs and modify code if necessary
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/158090/image.png)
0 Comments
Answers (2)
Rudransh Dewan
on 7 Jan 2022
clc
clear all
close all
syms x y z t
F=input('Enter the force components in cartesian co ordinates: ');
C=input('Enter the parametric form of curve C(t): ');
L=input('Enter the limits of parameter L: ');
T=linspace(L(1),L(2),101);
X=(subs(C(1),t,T));%x-coponent of c(t)
Y=(subs(C(2),t,T));%y-component of c(t)
xL=[min(X)-0.2,max(X)+0.2];%setting up x-limits for plotting purrpose
yL=[min(Y)-0.2,max(Y)+0.2];%setting up y-limits for plotting purrpose
if numel(F) ==2
FF=subs(F,{x,y},C);%calculating F(C(t)) for use in line integral
vect2D(F,xL,yL);hold on;%calling vect2D function to draw vector field
plot(X,Y,'-r','LineWidth',2)%plotting the curve C
elseif numel(F)==3
FF=subs(F,{x,y,z},C);
Z=(subs(C(2),t,T));
zL=[min(Z)-0.2,max(Z)+0.2];%setting up z-limits for plotting purrpose
vect3D(F,xL,yL,zL);hold on;%calling vect3D function to draw vector field
plot3(X,Y,Z,'-r','LineWidth',2);%plotting the curve C
else
disp('Function entered is not 2D or 3D vwctor field');
return
end
axis on;
xlabel('x')
ylabel('y')
zlabel('z')
intgrnd=inline(vectorize(dot(FF,diff(C,t))),'t');
WD=quad(intgrnd,L(1),L(2));
disp(['the work done by the force field is: ',num2str(WD)]);
1 Comment
Sanjana Chhabra
on 9 Jan 2022
Find the work done for the force 𝐹⃗(x,y,z)= yz𝑖⃗+ xz 𝑗⃗+ (xy+2z) 𝑘⃗⃗along the line segment from (1,0,-2) to (4,6,3).
1 Comment
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!