求大神看看这段matlab程序哪错了,菜鸟一只,刚用这软件

学习 时间:2026-04-03 09:19:04 阅读:2665
求大神看看这段matlab程序哪错了,菜鸟一只,刚用这软件>> syms i j t m n q s o p ;s=0;q=0;o=0;count=zeros;a=[0.5 1.41 0 0.37 0.4 0.72 0.72 0.43 0.57 0.38 0.98 0.50];b=[0 0.5 0.5 0.51 0.5 0.24 0.24 0.1 0.01 0.5 0.41 0.8];for i=-0.5:0.001:0.5o=o+1;for j=-0.5:0.001:0.5p=p+1;for t=1:1:12m=min(abs(a(t)-j),abs(1+j-a(t)));n=min(abs(b(t)-i),abs(1+i-b(t)));q=max(m,n);if qss=count(o,p);endendp=0;endError using ==> sym.sym>notimplemented at 2621Function 'subsindex' is not implemented for MuPAD symbolic objects.Error in ==> sym.sym>sym.subsindex at 1359notimplemented('subsindex');

最佳回答

英俊的蜜蜂

欣慰的向日葵

2026-04-03 09:19:04

p的初值是0吗?如果是的话改成以下代码就可以运行了syms i j t m n q s o p ;s=0;q=0;o=0;p=0;count=zeros(1000);a=[0。5 1。41 0 0。37 0。4 0。72 0。72 0。43 0。57 0。38 0。98 0。50];b=[0 0。5 0。5 0。51 0。5 0。24 0。24 0。1 0。01 0。5 0。41 0。8];for i=-0。5:0。001:0。5o=o+1;for j=-0。5:0。001:0。5p=p+1;for t=1:1:12m=min(abs(a(t)-j),abs(1+j-a(t)));n=min(abs(b(t)-i),abs(1+i-b(t)));q=max(m,n);if qss=count(o,p);endendend 再问: 我输出全是0,停不了了,zeros(1000)是什么啊,怎么回事,希望兄弟帮下忙啊 再答: zeros(1000)表示输出一个1000*1000的零矩阵,根据你后面的运算,count矩阵的维数应该是1000*1000,所以给出了一个1000*1000的矩阵再问: 不应该全是零吧,怎么改啊 再答: 你要实现什么功能,正好我现在有时间,可以帮你看一下再问: a代表数的横坐标,b代表纵坐标,就是将一个正方形(1,1)平移,范围在x轴,y轴的【-0。05,0。05】,使这些数离正方形的四个顶点距离小于0。05的最多,距离的定义是纵坐标之差与横坐标之差的最大值,我说的不太清楚,不好意思,还有就是他为什么自动输出矩阵呢,我又没让 再答: 最后要输出什么结果,是距离小0。05的点的个数,还是什么? 再答: count=0;a=[0。5 1。41 0 0。37 0。4 0。72 0。72 0。43 0。57 0。38 0。98 0。50];b=[0 0。5 0。5 0。51 0。5 0。24 0。24 0。1 0。01 0。5 0。41 0。8];for i=-0。5:0。001:0。5 for j=-0。5:0。05:0。5 for t=1:12 m1=max(abs(a(t)-(i-0。5)),abs(b(t)-(j-0。5))); m2=max(abs(a(t)-(i+0。5)),abs(b(t)-(j-0。5))); m3=max(abs(a(t)-(i+0。5)),abs(b(t)-(j+0。5))); m4=max(abs(a(t)-(i-0。5)),abs(b(t)-(j+0。5))); m=min(m1,m2); m=min(m,m3); m=min(m,m4); if m

最新回答共有2条回答

  • 寒冷的秀发
    回复
    2026-04-03 09:19:04

    p的初值是0吗?如果是的话改成以下代码就可以运行了syms i j t m n q s o p ;s=0;q=0;o=0;p=0;count=zeros(1000);a=[0。5 1。41 0 0。37 0。4 0。72 0。72 0。43 0。57 0。38 0。98 0。50];b=[0 0。5 0。5 0。51 0。5 0。24 0。24 0。1 0。01 0。5 0。41 0。8];for i=-0。5:0。001:0。5o=o+1;for j=-0。5:0。001:0。5p=p+1;for t=1:1:12m=min(abs(a(t)-j),abs(1+j-a(t)));n=min(abs(b(t)-i),abs(1+i-b(t)));q=max(m,n);if qss=count(o,p);endendend 再问: 我输出全是0,停不了了,zeros(1000)是什么啊,怎么回事,希望兄弟帮下忙啊 再答: zeros(1000)表示输出一个1000*1000的零矩阵,根据你后面的运算,count矩阵的维数应该是1000*1000,所以给出了一个1000*1000的矩阵再问: 不应该全是零吧,怎么改啊 再答: 你要实现什么功能,正好我现在有时间,可以帮你看一下再问: a代表数的横坐标,b代表纵坐标,就是将一个正方形(1,1)平移,范围在x轴,y轴的【-0。05,0。05】,使这些数离正方形的四个顶点距离小于0。05的最多,距离的定义是纵坐标之差与横坐标之差的最大值,我说的不太清楚,不好意思,还有就是他为什么自动输出矩阵呢,我又没让 再答: 最后要输出什么结果,是距离小0。05的点的个数,还是什么? 再答: count=0;a=[0。5 1。41 0 0。37 0。4 0。72 0。72 0。43 0。57 0。38 0。98 0。50];b=[0 0。5 0。5 0。51 0。5 0。24 0。24 0。1 0。01 0。5 0。41 0。8];for i=-0。5:0。001:0。5 for j=-0。5:0。05:0。5 for t=1:12 m1=max(abs(a(t)-(i-0。5)),abs(b(t)-(j-0。5))); m2=max(abs(a(t)-(i+0。5)),abs(b(t)-(j-0。5))); m3=max(abs(a(t)-(i+0。5)),abs(b(t)-(j+0。5))); m4=max(abs(a(t)-(i-0。5)),abs(b(t)-(j+0。5))); m=min(m1,m2); m=min(m,m3); m=min(m,m4); if m

上一篇 time gose by 与time went by区别

下一篇 现在1000韩元等于多少人民币?