error using ==>mldivide Matrix 2dimensionss must agree.

提前说明:matlab中求阶乘的函数是factorial(N);具体用法请help factorial;回归本题:自从用上了matlab发现最大的问题就是它太智能化了,而更大的问题是我觉得它应该这么智能化......所以最常见的我嘚错误就是Inner matrix 2dimensionss must agree!拿factorial开刀我要计算公式as=d!/(s!*(d-s)!)(就是组合d中取s)现初始化代码如下d=7;s=1:1:7;as=factorial(d)/(factorial(s)*factorial(d-s))公式没问题吧?运行、错誤!仔细看d是一个只有一个元素7的矩阵而s是一个1×7的矩阵,我以为matlab会自动扩充元素(如运行reshape)我错了修改如下:添加定义D=[ agree!这可是个經典错误,矩阵响应元素的运算必须全部加dot再次修改as1=factorial(D)./(factorial(s).*factorial(D-s))这次终于ok了。必须牢记一点:matlab的输入变量是矩阵参与运算的矩阵维数必须对应!



我要回帖

更多关于 2dimensions 的文章

 

随机推荐