怎么把matlab中FOR循环得到的值保存到矩阵中
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 03:34:53
怎么把matlab中FOR循环得到的值保存到矩阵中
syms r Wa Wb Vz a b h Pz e1x e1y e1z D11 D21 D31 F11 F21 F31
d1=[25.5;-14.75;0;1]; % 相对于旋转环的坐标系
f1=[27.3;-4.8;84.5;1]; % 相对于底座坐标系
Ohz=[0;0;84.5;1]; % 相对于底座坐标系
i=0;
for t=0:0.1:0.5
i=i+1;
r=pi*t;
a=6*sin(0.785*t)*pi/180;
b=6*cos(0.785*t)*pi/180;
h=2*sin(0.785*t);
TA=[1 0 0 0;
0 cos(a) -sin(a) 0;
0 sin(a) cos(a) 0;
0 0 0 1];
TB =[cos(b),-sin(a)*sin(b),cos(a)*sin(b), 0;
sin(a)*sin(b),cos(a)^2 + cos(b)*sin(a)^2, cos(a)*sin(a) - cos(a)*cos(b)*sin(a), 0;
-cos(a)*sin(b), cos(a)*sin(a) - cos(a)*cos(b)*sin(a),cos(b)*cos(a)^2 + sin(a)^2, 0;
0, 0, 0, 1];
TZ=[1 0 0 0;
0 1 0 0;
0 0 1 55+h;
0 0 0 1]; %h=Vz*t; Pz=(15)H+h H是初始时上下平台的距离
Tr=[cos(r) -sin(r) 0 0;
sin(r) cos(r) 0 0;
0 0 1 0;
0 0 0 1];
T=TZ*TB*TA*Tr;
D1=T*d1;
F1=Tr*f1;
end
怎么把D1 F1每次for循环最后的值保存起来
而不是只得到最后一个
syms r Wa Wb Vz a b h Pz e1x e1y e1z D11 D21 D31 F11 F21 F31
d1=[25.5;-14.75;0;1]; % 相对于旋转环的坐标系
f1=[27.3;-4.8;84.5;1]; % 相对于底座坐标系
Ohz=[0;0;84.5;1]; % 相对于底座坐标系
i=0;
for t=0:0.1:0.5
i=i+1;
r=pi*t;
a=6*sin(0.785*t)*pi/180;
b=6*cos(0.785*t)*pi/180;
h=2*sin(0.785*t);
TA=[1 0 0 0;
0 cos(a) -sin(a) 0;
0 sin(a) cos(a) 0;
0 0 0 1];
TB =[cos(b),-sin(a)*sin(b),cos(a)*sin(b), 0;
sin(a)*sin(b),cos(a)^2 + cos(b)*sin(a)^2, cos(a)*sin(a) - cos(a)*cos(b)*sin(a), 0;
-cos(a)*sin(b), cos(a)*sin(a) - cos(a)*cos(b)*sin(a),cos(b)*cos(a)^2 + sin(a)^2, 0;
0, 0, 0, 1];
TZ=[1 0 0 0;
0 1 0 0;
0 0 1 55+h;
0 0 0 1]; %h=Vz*t; Pz=(15)H+h H是初始时上下平台的距离
Tr=[cos(r) -sin(r) 0 0;
sin(r) cos(r) 0 0;
0 0 1 0;
0 0 0 1];
T=TZ*TB*TA*Tr;
D1=T*d1;
F1=Tr*f1;
end
怎么把D1 F1每次for循环最后的值保存起来
而不是只得到最后一个
D1(t*10+1)=T*d1;
F1(t*10+1)=Tr*f1;
再问: 不对
再答: syms r Wa Wb Vz a b h Pz e1x e1y e1z D11 D21 D31 F11 F21 F31
d1=[25.5;-14.75;0;1]; % 相对于旋转环的坐标系
f1=[27.3;-4.8;84.5;1]; % 相对于底座坐标系
Ohz=[0;0;84.5;1]; % 相对于底座坐标系
i=0;
for t=0:0.1:0.5
i=i+1;
r=pi*t;
a=6*sin(0.785*t)*pi/180;
b=6*cos(0.785*t)*pi/180;
h=2*sin(0.785*t);
TA=[1 0 0 0;
0 cos(a) -sin(a) 0;
0 sin(a) cos(a) 0;
0 0 0 1];
TB =[cos(b),-sin(a)*sin(b),cos(a)*sin(b), 0;
sin(a)*sin(b),cos(a)^2 + cos(b)*sin(a)^2, cos(a)*sin(a) - cos(a)*cos(b)*sin(a), 0;
-cos(a)*sin(b), cos(a)*sin(a) - cos(a)*cos(b)*sin(a),cos(b)*cos(a)^2 + sin(a)^2, 0;
0, 0, 0, 1];
TZ=[1 0 0 0;
0 1 0 0;
0 0 1 55+h;
0 0 0 1]; %h=Vz*t; Pz=(15)H+h H是初始时上下平台的距离
Tr=[cos(r) -sin(r) 0 0;
sin(r) cos(r) 0 0;
0 0 1 0;
0 0 0 1];
T=TZ*TB*TA*Tr;
D1(:,i)=T*d1;
F1(:,i)=Tr*f1;
end
F1(t*10+1)=Tr*f1;
再问: 不对
再答: syms r Wa Wb Vz a b h Pz e1x e1y e1z D11 D21 D31 F11 F21 F31
d1=[25.5;-14.75;0;1]; % 相对于旋转环的坐标系
f1=[27.3;-4.8;84.5;1]; % 相对于底座坐标系
Ohz=[0;0;84.5;1]; % 相对于底座坐标系
i=0;
for t=0:0.1:0.5
i=i+1;
r=pi*t;
a=6*sin(0.785*t)*pi/180;
b=6*cos(0.785*t)*pi/180;
h=2*sin(0.785*t);
TA=[1 0 0 0;
0 cos(a) -sin(a) 0;
0 sin(a) cos(a) 0;
0 0 0 1];
TB =[cos(b),-sin(a)*sin(b),cos(a)*sin(b), 0;
sin(a)*sin(b),cos(a)^2 + cos(b)*sin(a)^2, cos(a)*sin(a) - cos(a)*cos(b)*sin(a), 0;
-cos(a)*sin(b), cos(a)*sin(a) - cos(a)*cos(b)*sin(a),cos(b)*cos(a)^2 + sin(a)^2, 0;
0, 0, 0, 1];
TZ=[1 0 0 0;
0 1 0 0;
0 0 1 55+h;
0 0 0 1]; %h=Vz*t; Pz=(15)H+h H是初始时上下平台的距离
Tr=[cos(r) -sin(r) 0 0;
sin(r) cos(r) 0 0;
0 0 1 0;
0 0 0 1];
T=TZ*TB*TA*Tr;
D1(:,i)=T*d1;
F1(:,i)=Tr*f1;
end
怎么把matlab中FOR循环得到的值保存到矩阵中
求matlab程序for循环中怎么保存中间变量
MATLAB 中计算矩阵的循环里 想加一段语句保存所得矩阵 怎么加 用什么语句
matlab中矩阵怎么在for循环中用
matlab中怎么把一个行向量保存到一个矩阵的任意一行?我现在有K个行向量,想依次保存在一个矩阵中怎么办?
matlab里面如何将每次计算得到的数据(一个数)保存在矩阵中
MATLAB中for循环和if条件句中的数组的保存问题
matlab里怎么把矩阵编号,用于for循环
matlab中怎样用for循环求一个矩阵的转置矩阵?
求matlab大侠,for循环过程保存数据矩阵问题
matlab中for循环
matlab循环得到n个数组,怎样把这些数组,在循环的过程中,n个数组赋为一个矩阵即合为一个矩阵?在循环中