Matlab报错——错误使用 vertcat

错误提示:

原因:

这个错误表明 segment_lengths 的维度和 0 不一致。在 MATLAB 中,有时,diff 函数的输出可能是行向量,而segment_lengths 应该是一个列向量才能与 0 正确连接。

解决方法:

使用转置操作 .' segment_lengths 强制转换为列向量,从而保证 [0; segment_lengths] 的维度一致。

% 计算每个相邻点之间的距离(弧长段),确保结果为列向量
segment_lengths = sqrt((diff(xunizhuang_x).^2 + diff(xunizhuang_y).^2)).'; %使用转置操作 .'

% 计算累积弧长 s
s = cumsum([0; segment_lengths]);

也有一种原因是:使用了diff 操作,它返回的数组长度比原数组短1,因此,一阶导数 dx_ds 和 dy_ds 的长度比原数据少 1,二阶导数 ddx_ds2 和 ddy_ds2 比一阶导数少 1,需要使用 1:end-1 来对齐长度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值