[已解决] 求解方程组为什么结果不对

[复制链接]
bsrm 发表于 2021-12-6 10:27:17

最佳答案


TouAkira 发表于 2021-12-8 20:53:05
bsrm 发表于 2021-12-8 08:39
谢谢回帖,d1是我打错了,我想表的的是matlab运算出来的结果和我用笔算的结果是不一样的,matlab运算结果 ...

你算错了呗,回去检查方程组到底写的对不对,按你上面给出的方程组,就是4楼算的结果。
而且自己随便设置几组数值代入方程组,不就能检验出来到底是几次幂了嘛。

6 条回复


TouAkira 发表于 2021-12-6 11:24:04
直接发布代码/报错信息的文本、以附件给出必要数据,请不要用粘贴截图的方式(这会同时浪费提问者和回答者的时间)提问。
然后,你既然有c2 == 0之类的条件,那就请不要把c2作为未知数去求解。

bsrm 发表于 2021-12-6 15:10:48
TouAkira 发表于 2021-12-6 11:24
请直接发布代码/报错信息的文本、以附件给出必要数据,请不要用粘贴截图的方式(这会同时浪费提问者和回答者 ...

代码如下:
clear,clc
syms c1 d1
syms Fx2 Fy2 kf

eq1=kf*(c1+d1)*(c1)*kf-Fx2;
eq2=kf*(c1+d1)*(d1)*kf-Fy2;

s1=solve(eq1,eq2,c1,d1)

s1.d1
s1.d2

运行结果为ans =

  Fy2/((1/(Fx2 + Fy2))^(1/2)*(Fx2*kf + Fy2*kf))
-Fy2/((1/(Fx2 + Fy2))^(1/2)*(Fx2*kf + Fy2*kf))
化简为±Fy2/(kf*(Fx2+Fy2)^1/2),自己运算结果为±Fy2/(kf*(Fx2+Fy2))^1/2

TouAkira 发表于 2021-12-8 12:01:44
bsrm 发表于 2021-12-6 03:10
代码如下:
clear,clc
syms c1 d1

算出来没错啊。
算出来的s1里面两个字段是c1和d1,搞不懂你用
  1. s1.d1
  2. s1.d2 % 哪儿来的d2??
复制代码
是做什么,用
  1. disp( s1.c1 )
  2. disp( s1.d1 )
复制代码
得到的是
  Fx2/((1/(Fx2 + Fy2))^(1/2)*(Fx2*kf + Fy2*kf))
-Fx2/((1/(Fx2 + Fy2))^(1/2)*(Fx2*kf + Fy2*kf))

  Fy2/((1/(Fx2 + Fy2))^(1/2)*(Fx2*kf + Fy2*kf))
-Fy2/((1/(Fx2 + Fy2))^(1/2)*(Fx2*kf + Fy2*kf))

bsrm 发表于 2021-12-8 20:39:59
TouAkira 发表于 2021-12-8 12:01
算出来没错啊。
算出来的s1里面两个字段是c1和d1,搞不懂你用是做什么,用得到的是
  Fx2/((1/(Fx2 + Fy2 ...

谢谢回帖,d1是我打错了,我想表的的是matlab运算出来的结果和我用笔算的结果是不一样的,matlab运算结果为 Fx2/((1/(Fx2 + Fy2))^(1/2)*(Fx2*kf + Fy2*kf))   化简之后kf是一次方,而自己算的是kf是二分之一次方。

TouAkira 发表于 2021-12-8 20:53:05
bsrm 发表于 2021-12-8 08:39
谢谢回帖,d1是我打错了,我想表的的是matlab运算出来的结果和我用笔算的结果是不一样的,matlab运算结果 ...

你算错了呗,回去检查方程组到底写的对不对,按你上面给出的方程组,就是4楼算的结果。
而且自己随便设置几组数值代入方程组,不就能检验出来到底是几次幂了嘛。
回复此楼

bsrm 发表于 2021-12-8 20:55:01
TouAkira 发表于 2021-12-8 20:53
你算错了呗,回去检查方程组到底写的对不对,按你上面给出的方程组,就是4楼算的结果。
而且自己随便设置 ...

谢谢,我搞错了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表