my fprintf statements keep repeting themself I just want it to be print one time

1 次查看(过去 30 天)
%{
This script allows the users to input two vectors and then compute their dot product , cross product , sum, and diference
%}
clear
a=input('Enter vector a in the form [ x y z] :\n');
b=input('Enter vector vb in the form [ x y z] :\n');
if isempty(a)
a=[0 0 0];
end
if isempty(b)
b=[0 0 0];
end
ua=a./norm(a);
ub=b./norm(b);
d=dot(a,b);
c=cross(a,b);
sum=a+b;
di=a-b;
fprintf('the unit vector of a is %0.3f \n',ua)
fprintf('the unit vector of b is %0.3f \n',ua)
fprintf('the dot product a.b= %0.3f and the cross product axb= %0.3f \n',d , c)
fprintf('the sum of a+b= %0.3f and the difference of a-b= %0.3f \n',sum , di )

回答(1 个)

Star Strider
Star Strider 2022-8-28
Provide numeric field designatoors for each element in the unit vectors (I added the square brackets, remove them if yoou don’t want them) —
a = [1 2 3];
b = [4 5 6];
ua=a./norm(a);
ub=b./norm(b);
d=dot(a,b);
c=cross(a,b);
sum=a+b;
di=a-b;
fprintf('the unit vector of a is [%0.3f %0.3f %0.3f]\n',ua)
the unit vector of a is [0.267 0.535 0.802]
fprintf('the unit vector of b is [%0.3f %0.3f %0.3f]\n',ua)
the unit vector of b is [0.267 0.535 0.802]
fprintf('the dot product a.b= %0.3f and the cross product axb= %0.3f \n',d , c)
the dot product a.b= 32.000 and the cross product axb= -3.000 the dot product a.b= 6.000 and the cross product axb= -3.000
fprintf('the sum of a+b= %0.3f and the difference of a-b= %0.3f \n',sum , di )
the sum of a+b= 5.000 and the difference of a-b= 7.000 the sum of a+b= 9.000 and the difference of a-b= -3.000 the sum of a+b= -3.000 and the difference of a-b= -3.000
.
  3 个评论

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

产品


版本

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by