【求助】矩阵方程求解,plus标签被保护。
mathematica吧
全部回复
仅看楼主
level 1
1041429151 楼主
如题想求解这个方程,但是一直plus标签被保护。二楼上代码谢谢大佬了。
2021年03月11日 09点03分 1
level 1
1041429151 楼主
qu1 = fu1[t]
qv1 = fv1[t]
qu = {qu1}
qv = {qv1}
M = MatrixForm[{{{34.45428319573334` + 10.472846264820031` qu +
0.8075222624000002` qu^2 -
0.3122061168793633` qv^2}, {1.0946841805411454` qv}, \
{7.348812836608349` + 1.0946841805411454` qu}},
{{-1.0946841805411454` qv}, {0.8075222624000002`},
0}, {{7.348812836608349` + 1.0946841805411454` qu},
0, {1.6147756243801052`}}}]
G = MatrixForm[-2 Dt[(4 t)/15 + 4/15 \[Pi]^2 Sin t,
t] {{0, 0, 0}, {0,
0, {1.0946841805411454`}}, {0, {-1.0946841805411454`}, 0}}]
K = MatrixForm[ {{0, 0, 0},
{0, {775888.0835571943` -
0.8075222624000002` (4/15 + (4 \[Pi]^2 Sin)/15 +
4/15 \[Pi]^2 t Dt[Sin, t])^2}, 0}, {0,
0, {13.681061451793486` +
0.3122061168793633` (4/15 + (4 \[Pi]^2 Sin)/15 +
4/15 \[Pi]^2 t Dt[Sin, t])^2}}}]
Q = MatrixForm[{{{-2 (4/15 + (4 \[Pi]^2 Sin)/15 +
4/15 \[Pi]^2 t Dt[Sin, t]) (5.236423132410016` Derivative[1][
fu1][t] +
0.8075222624000002` fu1[t] Derivative[1][fu1][t] -
0.3122061168793633` fv1[t] Derivative[1][fv1][
t])}}, {{5.236423132410016` (4/15 + (4 \[Pi]^2 Sin)/15 +
4/15 \[Pi]^2 t Dt[Sin, t])^2}}, {0}} + {{(2 \[Pi] Sin t)/
15}, {0}, {0}}]
q = MatrixForm[Transpose[( {
{{(4 t)/15 + 4/15 \[Pi]^2 Sin t}, {fu1[t]}, {fv1[t]}}
} )]]
dSolveAlways[
M Dt[q, {t, 2}] + G Dt[q, t] + K q = Q, {fu1[t], fv1[t]}]
2021年03月11日 09点03分 2
level 5
那个方程应该是 == Q
2021年03月11日 12点03分 3
谢谢,但是运行完最后没有解呀。
2021年03月12日 05点03分
@1041429151 很多语病,比如Sin t,Dt[Sin, t],代码中的dSolveAlways
2021年03月12日 06点03分
@neulin🍒 谢谢大佬我这已经,又重新对了一下语法。发现是我前面计算这个值的时候语法错了导致输出出来的错了。还有用了角标。。下角标是真的不能用呀
2021年03月12日 09点03分
@neulin🍒 但是对于最后应该用那个函数解还是没有头绪
2021年03月12日 09点03分
level 1
1041429151 楼主
更新一下,根据大佬的指点重新写了一遍。由于实在比较长现在吧nb文件传到了云盘求大佬们指点一下。
链接:[无效] https://pan.baidu.com/s/1QJ_jbvnMVcUMrQwhonqgnA
提取码:8ccl
2021年03月12日 11点03分 4
为什么现在识别完不是等式呢,我想求的是fu1[t]和fv1[t]
2021年03月12日 11点03分
在论文里看到是可以画出曲线的,应该是有解
2021年03月12日 11点03分
百度网盘我是懒得看的。。。从图中看来,你的方程恒不成立了(计算为False),从而不能求解。
2021年03月13日 11点03分
@asdasd1dsadsa 问题可能是你之前错误的赋值导致的。参考https://tieba.baidu.com/p/4850533592
2021年03月13日 11点03分
level 1
1041429151 楼主
Dsolve[(13.681061451793486 + 0.3122061168793633*
(4/15 + (4/15)*Pi^2*Cos[(2*Pi*x)/15])^2)*y[x] -
16.203329712612796*Sin[(2*Pi*x)/15] +
1.6147756243801052*Derivative[2][y][x] == 0, y[x], x]
现在化简成这个但是还是没有解
2021年03月12日 12点03分 5
命令错了,DSolve
2021年03月13日 03点03分
明白您的意思了,大写。我也测试过了,在y[x]前面系数比较简单的时候比如x+1可以得出结果。但是在等于我这一串的时候就会出现 InverseFunction::ifun: 反函数正在使用中. 对于多值反函数,有些值可能丢失.
2021年03月13日 05点03分
@neulin🍒 这样的话是因为什么呢
2021年03月13日 05点03分
level 1
1041429151 楼主
这是两次运行结果的代码截图,其中两次不同的只有y[x]前面的系数。
第一次的代码
DSolve[1.61478*Derivative[2][y][x] +
(13.6811 + 0.312206*(4/15 + (4/15)*Pi^2*Cos[2*Pi*(x/15)])^2)*
y[x] -
16.2033*Sin[(2*Pi*x)/15] == 0, y[x], x]
第二次的代码
DSolve[1.61478*Derivative[2][y][x] + (x + 1)*y[x] -
16.2033*Sin[(2*Pi*x)/15] == 0, y[x],
x]
2021年03月15日 03点03分 6
虽然只是系数不同,但是前者系数里面有个Cos,Cos里面有个x,这个可比后者复杂多了! DSolve只能求出很少很少,建议用NDSolve求解数值解,又快又好看。你看你第二个结果真的辣眼睛
2021年03月15日 05点03分
求出来的数值解也可以画图
2021年03月15日 05点03分
回复 🌚黑黄🌝 :谢谢,谢谢。我现在去学一下然后试试
2021年03月15日 13点03分
1