求MATLAB大神看看我的算法怎么错了clcclear x=input('景点总数');A=[1:1:x];Y=input('所选景点序数');A1=A(:,Y);%在此矩阵,A1与Y相同a=size(A1,2)+1;B1=perms(A1);b=size(B1,1);A2=zeros(b,1);B=[A2,B1];for j=1:bj=j+1;i=1;for i=1:a-1i
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 13:22:30
求MATLAB大神看看我的算法怎么错了clcclear x=input('景点总数');A=[1:1:x];Y=input('所选景点序数');A1=A(:,Y);%在此矩阵,A1与Y相同a=size(A1,2)+1;B1=perms(A1);b=size(B1,1);A2=zeros(b,1);B=[A2,B1];for j=1:bj=j+1;i=1;for i=1:a-1i
求MATLAB大神看看我的算法怎么错了
clc
clear
x=input('景点总数');
A=[1:1:x];
Y=input('所选景点序数');
A1=A(:,Y);%在此矩阵,A1与Y相同
a=size(A1,2)+1;
B1=perms(A1);
b=size(B1,1);
A2=zeros(b,1);
B=[A2,B1];
for j=1:b
j=j+1;
i=1;
for i=1:a-1
i=i+1;
if B(j,i)==1&&B(j,i+1)==2
B(j,:)=[],
end
end
end
循环之前没问题,就是循环没法运行
求MATLAB大神看看我的算法怎么错了clcclear x=input('景点总数');A=[1:1:x];Y=input('所选景点序数');A1=A(:,Y);%在此矩阵,A1与Y相同a=size(A1,2)+1;B1=perms(A1);b=size(B1,1);A2=zeros(b,1);B=[A2,B1];for j=1:bj=j+1;i=1;for i=1:a-1i
for j=1:b
j=j+1;
j=1:b已经是在步进了,为什么还要再做一个++?
是想以2为步进的话,那不如直接 j = 1:2:b
然后不需要i = 1的赋值,i=1:a-1已经赋值
同样,i=i+1是嫌1的步进慢吗?那直接i = 1:2:a-1就行了