mdsk.net
当前位置:首页 >> mAtlAB提示我 错误使用 * 内部矩阵维度必须一致。应该怎么改 >>

mAtlAB提示我 错误使用 * 内部矩阵维度必须一致。应该怎么改

y2的表达式里有n,y=y1.*y2; 可以正确计算的前提是x与n的长度要一致,如果二者不一致,就会出现你看到的错误提示.MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分.MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域.

解决方法如下:需要的是t和l0的元素对应计算,即矩阵乘法,那么需要在乘除运算符之前加上点号(./ 或 .*),所以改正如下:123t = 9:1:15;l0 = 3 ./ (tan(asin(0.4620 + 0.7712 * 0.6879 * cos(pi / 12 * (t - 12.24)))));plot(t,l0); MATLAB 是美国

水准网平差matlab设计 出错命令行 Qh=B2*Q*(B2).出现这样的问题,主要是没有使用点运算符.即“.” 将 Qh=B2*Q*(B2) 改为 Qh=B2.*Q.*(B2),就可以了.其他,你还得注意 B2和Q的大小是否匹配.

纠正《Matlab提示错误使用*,内部矩阵维度必须一致.》的错误,你可以试图将 Qh=B2*Q*B2 改成 Qh=B2.*Q.*B2 %即增加点运算符 请试一试看.其他的也要像这样修改.

计算要遵循矩阵乘积的规则,内维一致,这是不能违犯的.可把*号改为 .*解决.

从给出的代码来看,出现《错误使用 / 矩阵维度必须一致.》的错误警告,其原因是 Q(T)=a+b*T+c*T.^2+d*T.^3; 中的T 无法用 T(i) 替代.因为 T 是一组向量值,而 T(i) 是一个数值. 所以,你可以试着按下列代码改一下,即 for i=1:1:100 T(i)=296+i; Q(i)=a+b*T(i)+c*T(i).^2+d*T(i).^3; S(i)=(q/Q(i))*(t/T(i))*exp(-h*c*E/k*(1/T(i)-1/t))*(1-exp(-h*c*v/(k*T(i))))*(1-exp(-h*c*v/(k*t)))^-1; end plot(T,S)

x和y都是262个数据,因为你的dx1和dy1做的是一阶差分,是262-1=261个数据,dx11,dy11又是二阶差分,数据量变成了262-2=260,而你用的点运算是对应元素的运算,元素数量不一样,肯定就不对了

先在F表达式中乘号前加小圆点试一下.如还不行这需要检查transI()和roty()自定义函数.

从提示看,矩阵操作的内维不相等,须要原程序才能找出错误之处.请把原程序发来,我qq2674716548

x中貌似含有0.你啊看看,x = 0.01:1000;试试

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com