matlab变量初始化方法,为什么MATLAB报告我的变量未初始化?(Why is MATLAB reporting my variable uninitialized?)...

为什么MATLAB报告我的变量未初始化?(Why is MATLAB reporting my variable uninitialized?)

我做了一个课程,在其中一个方法中,我需要计算两点之间的距离。 所以我写了一个名为“remoteness”的普通函数来为我做这个。

编译错误:

在编译时,“远程”被确定为变量,并且该变量未初始化。 “remoteness”也是一个函数名,MATLAB的早期版本将调用该函数。

但是,MATLAB 7禁止在与函数和变量相同的上下文中使用相同的名称。

错误在==> TRobot> TRobot.makeVisibilityGraph at 58 obj.visiblityGraph(k,k + 1)= remoteness(:,obj.VGVertices(k),obj.VGVertices(:,k + 1));

我认为remoteness名称可能是另一个函数的名称,但当我将其名称更改为kamran ,错误仍然存​​在。 应该注意,我可以在命令行中使用kamran函数(或remoteness ),没有任何问题。

命令行示例:

>> kamran([0,0],[3,4])

ans = 5

kamran函数的代码位于单独的m文件中。

kamran功能代码:

function dist = kamran(v1,v2)

dist = sqrt( (v1(1) - v2(1)) ^2 + (v1(2) - v2(2)) ^2 );

有关如何使用kamran函数的代码示例:

function obj = makeVisibilityGraph(obj)

verticesNumber = 0;

for num = 1: size(obj.staticObstacle,2)

verticesNumber = verticesNumber + size(obj.staticObstacle(num).polygon,2);

end

% in the below line, 2 is for start and goal vertices

obj.visibilityGraph = ones(2 + size(obj.VGVertices,2)) * Inf;

for j=1 : size(obj.staticObstacle,2)

index = size(obj.VGVertices,2);

obj.VGVertices = [obj.VGVertices, obj.staticObstacle(j).polygon];

obj.labelVGVertices = [obj.labelVGVertices, ones(1,size(obj.staticObstacle(j).polygon,2))* j ];

for k = index+1 : (size(obj.VGVertices,2)-1)

obj.visiblityGraph(k,k+1) &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值