Matlab的矩阵元素编写注意规范

其实平时一直没有注意这个问题,反而忘记其编写的规范了。

问题是这样的,定义了一个列向量,其中每个元素涉及了计算。写法如下:

f0 = [(x0(1) + 3) * (x0(2)^3 - 7) +18; sin(x0(2) * exp(x0(1)) - 1)];

结果编译时就出现了这个问题:

??? Error using ==> vertcat
CAT arguments dimensions are not consistent.

Error in ==> hw5 at 8
f0 = [(x0(1) + 3) * (x0(2)^3 - 7) +18; sin(x0(2) * exp(x0(1)) - 1)];

这就表示矩阵写错了,里面元素的数目与设定不匹配,行列元素写反导致大小与设定不匹配,行(列)中少了元素等。

估计是写C写惯了,习惯在计算符号后面加空格,但在编写Matlab矩阵是是万万不可的。

原因在于,Matlab编写矩阵时,每一行内的元素之间是可以用空格或逗号隔开。在我的向量中,“+18”前写了一个空格,编译器认为这是正18了,

因此我第一行有2个元素,而第二行只有一个,所以出现那样的错误。

虽然错误很弱白啦,不过一方面以后要注意,另一方面是行元素间尽量用逗号隔开,以免造成误会。

转载于:https://www.cnblogs.com/unistation/archive/2012/12/09/2809396.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值