声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 970|回复: 4

[编程技巧] 解方程组为什么结果不同

[复制链接]
发表于 2007-4-3 13:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
[a1,b1]=solve(zhenxing(1,1),zhenxing(2,1))
如果将a1换成w1或者wei1解出的结果就不同了,可是如果将a1换成aaaa1或abcd1结果却相同?
那位高手告诉我这是为什么。(其中zhenxing(1,1),zhenxing(2,1)都是关于a1 ,b1的一次函数)

[ 本帖最后由 eight 于 2007-4-3 17:09 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-4-3 14:03 | 显示全部楼层
原帖由 duolinwang 于 2007-4-3 13:54 发表
=solve(zhenxing(1,1),zhenxing(2,1))
如果将a1换成w1或者wei1解出的结果就不同了,可是如果将a1换成aaaa1或abcd1结果却相同?
那位高手告诉我这是为什么。(其中zhenxing(1,1),zhenxing(2,1)都是关于a1 ,b1的 ...



一般情况下不可能,建议你先把代码贴一下
 楼主| 发表于 2007-4-3 17:05 | 显示全部楼层

代码

syms mz1 mz2 mz3 mz4 mz5 mz6 mz7 mz8 mz9 mz10 mz11 mz12 mz13 mz14 mz15   my1 my2 my3 my4 my5 my6 my7 my8 my9 my10 my11 my12 my13 my14...
     lz1 lz2 lz3 lz4 lz5 lz6 lz7 lz8 lz9 lz10 lz11 lz12 lz13 lz14   ly1 ly2 ly3 ly4 ly5 ly6 ly7 ly8 ly9 ly10 ly11 ly12 ly13...
     iz1 iz2 iz3 iz4 iz5 iz6 iz7 iz8 iz9 iz10 iz11 iz12 iz13 iz14   iy1 iy2 iy3 iy4 iy5 iy6 iy7 iy8 iy9 iy10 iy11 iy12 iy13...
     e jzp jzd jyp jyd w xz az f xy ay x1 x2 wa1 a2 weij jiaoj c e wei1 jiao1 ww a1 jiaj

mz1=1.6455;mz2=3.4024;mz3=5.526;mz4=7.538;mz5=4.5525;mz6=3.2145;mz7=205;
lz1=0.192;lz2=0.113;lz3=0.152;lz4=0.152;lz5=0.04;lz6=0.226;
iz1=5.55*10^(-7);iz2=1.29*10^(-6);iz3=3.22*10^(-6);iz4=3.22*10^(-6);iz5=2*10^(-6);iz6=1.64*10^(-6);
e=2.058*10^11;jzp=8.742;jzd=5.248;w=345;

mzj1=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz1*10;0 0 0 0 1]   %求静态下的初始偏移量
mzj2=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;-359000000 0 0 1 mz2*10;0 0 0 0 1]
mzj3=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz3*10;0 0 0 0 1]
mzj4=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz4*10;0 0 0 0 1]
mzj5=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz5*10;0 0 0 0 1]
mzj6=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;-2086000000 0 0 1 mz6*10;0 0 0 0 1]
mzj7=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz7*10-18000;0 0 0 0 1]           %施加负荷
lzj1=[1 lz1 lz1^2/(2*e*iz1) lz1^3/(6*e*iz1) 0;0 1 lz1/(e*iz1) lz1^2/(2*e*iz1) 0;0 0 1 lz1 0;0 0 0 1 0;0 0 0 0 1]
lzj2=[1 lz2 lz2^2/(2*e*iz2) lz2^3/(6*e*iz2) 0;0 1 lz2/(e*iz2) lz2^2/(2*e*iz2) 0;0 0 1 lz2 0;0 0 0 1 0;0 0 0 0 1]
lzj3=[1 lz3 lz3^2/(2*e*iz3) lz3^3/(6*e*iz3) 0;0 1 lz3/(e*iz3) lz3^2/(2*e*iz3) 0;0 0 1 lz3 0;0 0 0 1 0;0 0 0 0 1]
lzj4=[1 lz4 lz4^2/(2*e*iz4) lz4^3/(6*e*iz4) 0;0 1 lz4/(e*iz4) lz4^2/(2*e*iz4) 0;0 0 1 lz4 0;0 0 0 1 0;0 0 0 0 1]
lzj5=[1 lz5 lz5^2/(2*e*iz5) lz5^3/(6*e*iz5) 0;0 1 lz5/(e*iz5) lz5^2/(2*e*iz5) 0;0 0 1 lz5 0;0 0 0 1 0;0 0 0 0 1]
lzj6=[1 lz6 lz6^2/(2*e*iz6) lz6^3/(6*e*iz6) 0;0 1 lz6/(e*iz6) lz6^2/(2*e*iz6) 0;0 0 1 lz6 0;0 0 0 1 0;0 0 0 0 1]

zong=mzj7*lzj6*mzj6*lzj5*mzj5*lzj4*mzj4*lzj3*mzj3*lzj2*mzj2*lzj1*mzj1

v=[ww;jiaoj;0;0;1]
zhenxing=zong*v
zheng31=zhenxing(3,1)
zheng41=zhenxing(4,1)
[ww,jiaoj]=solve(zhenxing(3,1),zhenxing(4,1))
把上式中的ww改成a1结果完全不同。
谢谢回帖!!
发表于 2007-4-3 17:14 | 显示全部楼层
原帖由 duolinwang 于 2007-4-3 17:05 发表
syms mz1 mz2 mz3 mz4 mz5 mz6 mz7 mz8 mz9 mz10 mz11 mz12 mz13 mz14 mz15   my1 my2 my3 my4 my5 my6 my7 my8 my9 my10 my11 my12 my13 my14...
     lz1 lz2 lz3 lz4 lz5 lz6 lz7 lz8 lz9 lz10 lz11 lz12 l ...



已运行,结果没有不同,建议采用digits和vpa控制输出,然后再看看

评分

1

查看全部评分

 楼主| 发表于 2007-4-3 18:35 | 显示全部楼层

谢谢!

不过确实不同,改后的式子是这样:
syms mz1 mz2 mz3 mz4 mz5 mz6 mz7 mz8 mz9 mz10 mz11 mz12 mz13 mz14 mz15   my1 my2 my3 my4 my5 my6 my7 my8 my9 my10 my11 my12 my13 my14...
     lz1 lz2 lz3 lz4 lz5 lz6 lz7 lz8 lz9 lz10 lz11 lz12 lz13 lz14   ly1 ly2 ly3 ly4 ly5 ly6 ly7 ly8 ly9 ly10 ly11 ly12 ly13...
     iz1 iz2 iz3 iz4 iz5 iz6 iz7 iz8 iz9 iz10 iz11 iz12 iz13 iz14   iy1 iy2 iy3 iy4 iy5 iy6 iy7 iy8 iy9 iy10 iy11 iy12 iy13...
     e jzp jzd jyp jyd w xz az f xy ay x1 x2 wa1 a2 weij jiaoj c e wei1 jiao1 ww a1 jiaj

mz1=1.6455;mz2=3.4024;mz3=5.526;mz4=7.538;mz5=4.5525;mz6=3.2145;mz7=205;
lz1=0.192;lz2=0.113;lz3=0.152;lz4=0.152;lz5=0.04;lz6=0.226;
iz1=5.55*10^(-7);iz2=1.29*10^(-6);iz3=3.22*10^(-6);iz4=3.22*10^(-6);iz5=2*10^(-6);iz6=1.64*10^(-6);
e=2.058*10^11;jzp=8.742;jzd=5.248;w=345;

mzj1=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz1*10;0 0 0 0 1]   %求静态下的初始偏移量
mzj2=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;-359000000 0 0 1 mz2*10;0 0 0 0 1]
mzj3=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz3*10;0 0 0 0 1]
mzj4=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz4*10;0 0 0 0 1]
mzj5=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz5*10;0 0 0 0 1]
mzj6=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;-2086000000 0 0 1 mz6*10;0 0 0 0 1]
mzj7=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 mz7*10-18000;0 0 0 0 1]           %施加负荷
lzj1=[1 lz1 lz1^2/(2*e*iz1) lz1^3/(6*e*iz1) 0;0 1 lz1/(e*iz1) lz1^2/(2*e*iz1) 0;0 0 1 lz1 0;0 0 0 1 0;0 0 0 0 1]
lzj2=[1 lz2 lz2^2/(2*e*iz2) lz2^3/(6*e*iz2) 0;0 1 lz2/(e*iz2) lz2^2/(2*e*iz2) 0;0 0 1 lz2 0;0 0 0 1 0;0 0 0 0 1]
lzj3=[1 lz3 lz3^2/(2*e*iz3) lz3^3/(6*e*iz3) 0;0 1 lz3/(e*iz3) lz3^2/(2*e*iz3) 0;0 0 1 lz3 0;0 0 0 1 0;0 0 0 0 1]
lzj4=[1 lz4 lz4^2/(2*e*iz4) lz4^3/(6*e*iz4) 0;0 1 lz4/(e*iz4) lz4^2/(2*e*iz4) 0;0 0 1 lz4 0;0 0 0 1 0;0 0 0 0 1]
lzj5=[1 lz5 lz5^2/(2*e*iz5) lz5^3/(6*e*iz5) 0;0 1 lz5/(e*iz5) lz5^2/(2*e*iz5) 0;0 0 1 lz5 0;0 0 0 1 0;0 0 0 0 1]
lzj6=[1 lz6 lz6^2/(2*e*iz6) lz6^3/(6*e*iz6) 0;0 1 lz6/(e*iz6) lz6^2/(2*e*iz6) 0;0 0 1 lz6 0;0 0 0 1 0;0 0 0 0 1]

zong=mzj7*lzj6*mzj6*lzj5*mzj5*lzj4*mzj4*lzj3*mzj3*lzj2*mzj2*lzj1*mzj1

v=[a1;jiaoj;0;0;1]
zhenxing=zong*v
zheng31=zhenxing(3,1)
zheng41=zhenxing(4,1)
[a1,jiaoj]=solve(zhenxing(3,1),zhenxing(4,1))
谢谢帮助,我感觉是solve函数的原因。将该前和改后的方程组对比,只有未知数不同,未知数前面的系数均相同。很奇怪。
谢谢你,eight.

[ 本帖最后由 eight 于 2007-4-3 18:38 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-13 01:50 , Processed in 0.063044 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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