查看: 1003|回复: 2|关注: 0

[已答复] x.^2与x^2问题

[复制链接]

入门

58 麦片

财富积分


50500


18

主题

24

帖子

0

最佳答案
发表于 2020-6-15 08:18:36 | 显示全部楼层 |阅读模式
y=dsolve('x*D2y-3*Dy==x.^2 ','y(1)==0,y(5)==0','x')
错误使用 symengine
Invalid input. Expected 'expression'.


出错 mupadengine/evalin (line 132)
                res = mupadmex(statement,output_type{:});


出错 dsolve>mupadDsolve (line 339)
sys = [sys_sym reshape(evalin(symengine, sys_str), 1, [])];


出错 dsolve (line 194)
sol = mupadDsolve(args, options);


出错 ex61 (line 1)
y=dsolve('x*D2y-3*Dy==x.^2 ','y(1)==0,y(5)==0','x')







y=dsolve('x*D2y-3*Dy==x^2 ','y(1)==0,y(5)==0','x')
结果:
y =

(31*x^4)/468 - x^3/3 + 125/468

x不是行向量,那x.^2每个元素平方和x^2两个相同矩阵相乘,两个没区别啊,为啥前者解不出来
回复主题 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


0

主题

1

帖子

0

最佳答案
发表于 2020-6-28 15:46:08 | 显示全部楼层
x是一个向量的话,.^2和^2肯定是不一样的,.^2是每一个元素平方,^2则是矩阵x与矩阵相乘,按照矩阵求解的方法计算。如果x是一个n*n的向量,比如说[a b;c d],那么x.^2=[a*a b*b;c*c d*d],是矩阵中每个元素平方,而x^2=x*x=[a*a+b*c   a*b+b*d  ;  a*c+c*d   c*b+d*d]。如果x是一个m*n的矩阵,m不等于n的话,那么x.^2可以计算,而x^2没有结果,因为m*n的矩阵乘以另一个m*n的矩阵没办法计算。
回复此楼 已获打赏: 0 积分

举报

入门

58 麦片

财富积分


50500


18

主题

24

帖子

0

最佳答案
 楼主| 发表于 2020-6-29 10:48:47 | 显示全部楼层
zhoulixingx 发表于 2020-6-28 15:46
x是一个向量的话,.^2和^2肯定是不一样的,.^2是每一个元素平方,^2则是矩阵x与矩阵相乘,按照矩阵求解的方 ...

我知道哪里错了,这个我一直以为matlab解微分方程是用数组运算(一个个数代入验证,最后得到答案),后来一看书发现解微分方程还是用的线性代数原理,得到其通解公式的。
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表