作业帮 > 综合 > 作业

matlab的矩阵维数不一致

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 10:32:24
matlab的矩阵维数不一致
>> t=0:0.01:1;
>> [a,b]=dsolve('0.02*Dx=y','Dy*0.5+y*12.5=x','y(0)=0','x(0)=1','t')

a =

1/(2*exp((25*t)/2 + (5*41^(1/2)*t)/2)) + exp((5*41^(1/2)*t)/2 - (25*t)/2)/2 - (5*41^(1/2))/(82*exp((25*t)/2 + (5*41^(1/2)*t)/2)) + (5*41^(1/2)*exp((5*41^(1/2)*t)/2 - (25*t)/2))/82


b =

(2*41^(1/2)*exp((5*41^(1/2)*t)/2 - (25*t)/2))/205 - (2*41^(1/2))/(205*exp((25*t)/2 + (5*41^(1/2)*t)/2))

>> B=(2*41^(1/2)*exp((5*41^(1/2)*t)/2 - (25*t)/2))/205 - (2*41^(1/2))/(205*exp((25*t)/2 + (5*41^(1/2)*t)/2))
? Error using ==> mldivide
Matrix dimensions must agree.
我只设了一个矩阵,怎么维数前后就不一致了呢
(2*41^(1/2)*exp((5*41^(1/2)*t)/2 - (25*t)/2))/205 - (2*41^(1/2)) ./ (205*exp((25*t)/2 + (5*41^(1/2)*t)/2))
|
应该是这个位置要用 “ ./ ”
作为函数形式,所有的*, / , ^都是对单个输入值而言的,就是输入一个值,输出一个值
那么参与运算的所有所有值都是标量,或者理解为1x1的矩阵
这个时候 *,/,^ 和 .*,./,.^是等价的
但是 *,/,^确切来说在matlab里面表示矩阵的乘除,乘方运算
你这里t是一个向量,那么
(205*exp((25*t)/2 + (5*41^(1/2)*t)/2))的结果就是一个长度和t相同的向量
直接用矩阵乘法会报错的