查看: 126|回复: 3|关注: 0

[已解决] 试图访问 u(1,2);由于 size(u)=[2,1],索引超出范围。

[复制链接]

新手

10 麦片

财富积分


050


5

主题

8

帖子

0

最佳答案
本帖最后由 TouAkira 于 2019-12-1 03:59 编辑

这段程序是这样的function F1=myfun00(u)
.........
.........
.........

for i=1:c
    F1(1,i)=abs(sqrt((R-u(1,i)).^2+(u(2,i)).^2)-R0(i));
    F1(2,i)=abs(sqrt(RB(i).^2-u(2,i).^2))-u(1,i)-H(i)+LB(i);
end


其中c=600,R0(i),H(i),LB(i)都从前面的程序计算出来了

提示错误为:
试图访问 u(1,2);由于 size(u)=[2,1],索引超出范围。

出错 myfun00 (line 195)
    F1(1,i)=abs(sqrt((R-u(1,i)).^2+(u(2,i)).^2)-R0(i));


改了两天,没有整明白,请大神指教

请不要在帖子里勾选“仅作者可见”这种非常不友好的选项!

论坛优秀回答者

中级

626 麦片

财富积分


5001500


0

主题

283

帖子

48

最佳答案
  • 关注者: 8
发表于 2019-12-1 12:02:32 | 显示全部楼层 |此回复为最佳答案
u是一个2行1列的矩阵,所以索引到第一行第二个元素时报错

新手

10 麦片

财富积分


050


5

主题

8

帖子

0

最佳答案
 楼主| 发表于 2019-12-1 12:36:09 | 显示全部楼层
20141303 发表于 2019-12-1 12:02
u是一个2行1列的矩阵,所以索引到第一行第二个元素时报错

对,是这样报错的,但是在程序中u是两行c列的啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表