下段代码哪里有问题?为什么matlab总说超过了矩阵尺寸? 80
3个回答
展开全部
你的错误之处在于你
for j=1:20
if (z(j)<15)
z(:,j)=[];
k=k+1;
end
end
这个循环不对,因为z(:,j)=[];相当于把这个元素删除,z数组长度会变短,你还for j=1:20。显然你错了
for j=1:20
if (z(j)<15)
z(:,j)=[];
k=k+1;
end
end
这个循环不对,因为z(:,j)=[];相当于把这个元素删除,z数组长度会变短,你还for j=1:20。显然你错了
追问
我改成了1:20-k,还是同一个地方报错。。
追答
改成这样 for j=20-k:-1:1,因为循环里面的k=k+1,对循环外的j=1:20-k不造成影响,也就是说,当if语句里有值小于15时,j的值还是会取到20
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
展开全部
你的m和n、z(m)和z(n)都是一样的,为什么要写两句?会不会是这样,他认为z(j)就是一个矩阵,一个矩阵跟一个实数是没办法比较大小的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成下面的就行了
aa=length(z)
for j=aa:1
if (z(j)<15)
z(:,j)=[];
k=k+1;
end
end
从后往前对数组操作
aa=length(z)
for j=aa:1
if (z(j)<15)
z(:,j)=[];
k=k+1;
end
end
从后往前对数组操作
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询