【问题标题】:Evaluating a surface fit (sfit) using mixed scalar/vector inputs in MATLAB在 MATLAB 中使用混合标量/向量输入评估曲面拟合 (sfit)
【发布时间】:2015-04-08 02:32:06
【问题描述】:

考虑以下 3D 表面:

在构造适当的meshgrid 矩阵(XX,YY,ZZ 使得ZZ=f(XX,YY))之后,我使用cftool(MATLAB 2014a)在该曲面上拟合了一个方程。稍后,我想评估“线”上的拟合度,例如sfit_eq(3:0.01:5,600) 但 MATLAB 拒绝给我结果,声称输入之间存在尺寸不匹配 (Error while trying to evaluate FITTYPE function obj: Dimensions of matrices being concatenated are not consistent.)。

虽然可以使用 repmatmeshgrid 轻松解决它,但我想知道 - 有没有办法直接使用尺寸不一致的输入来评估 sfit(换句话说- 如果需要,让 it 处理数据网格)

【问题讨论】:

  • 你试过 sfit_eq(3:0.01:5,600*ones(201,1)) 吗?但是,如果函数给您错误是因为尺寸不一致,那么字面上意味着您不能使用不一致的尺寸......
  • @Ander - 与repmat\meshgrid 相同。要么真的不可能,要么我错过了一些标志,或者可能是一个包装函数或类似的东西......
  • 我认为这是不可能的。不要试图在matlab上作弊! :P

标签: matlab curve-fitting


【解决方案1】:

我决定今天重新审视这个问题(这次是在 MATLAB 2015a 中)。

我最初的想法是使用bsxfun@feval 的混合来获得所需的结果,但我似乎不太正确。但后来我注意到在这个版本的 MATLAB 中它只是按我想要的方式工作

我想这个问题可以通过简单地升级到新版本的 MATLAB 来解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-01
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    相关资源
    最近更新 更多