请问如何得到每次循环的x1,y1呢?现在的程序只能得到最后一次循环的结果
clear;
clc;
x=[1 2 3 4 5]
y=[4 5 6 7 8]
for t=1:10
M=[1 0 t;
0 1 0;
0 0 1;];
P0(1,:)=x;
P0(2,:)=y;
P0(3,:)=1;
P1=M*P0;
x1=P1(1,:);
y1=P1(2,:);
end
plot(x1,y1)
明白了,太感谢您了!再请教一下,能单独把x1、x2...的值分别输出在矩阵中吗,就是x1=[ ] x2=[ ]...这种,因为我后续要计算X=0.1x1+0.2x2...这样的式子。
看看这个行不行
clear;
clc;
x = [1 2 3 4 5];
y = [4 5 6 7 8];
x1_all = []; % 用于存储每次循环的 x1 值
y1_all = []; % 用于存储每次循环的 y1 值
for t = 1:10
M = [1 0 t; 0 1 0; 0 0 1];
P0(1,:) = x;
P0(2,:) = y;
P0(3,:) = 1;
P1 = M * P0;
x1 = P1(1,:);
y1 = P1(2,:);
x1_all = [x1_all, x1]; % 将本次循环得到的 x1 追加到 x1_all 数组末尾
y1_all = [y1_all, y1]; % 将本次循环得到的 y1 追加到 y1_all 数组末尾
end
% 将每个数组变量输出成代码块格式
for i = 1:length(x1_all)
disp(['x', num2str(i), ' = [', num2str(x1_all(:,i)'), '];']);
end