24小时热门版块排行榜    

查看: 301  |  回复: 2
当前主题已经存档。

zhanghuashan

[交流] 【求助】请教Mathematica问题!

下面两段程序,感觉应该是同样的结果,但是却不同。请高手指点!
第一段程序:
\!\(\*
  RowBox[{\(c\_11 = \((2.1`30)\)*10^11; c\_13 = \((1.05`30)\)*10^11;
          c\_33 = \((2.11`30)\)*10^11; c\_44 = \((0.423`30)\)*10^11;\),
        "\[IndentingNewLine]", \(e\_15 = \(-0.48`30\); e\_31 = \(-0.573`30\); \
e\_33 = 1.321`30;\), "\[IndentingNewLine]", \(pϵ\_11 = 8.55`30;
    pϵ\_33 = 10.2`30;\), "\[IndentingNewLine]", \(pρ =
    5670`30;\), "\[IndentingNewLine]",
    RowBox[{\(FPiezo[GC_]\), ":=",
      RowBox[{"Module", "[",
        RowBox[{\({Tp, K, DK, a1, a2, a3, a4, b, de, V}\), ",",
          RowBox[{\(V = GC\), ";", "\[IndentingNewLine]",
            RowBox[{"K", "=",
              RowBox[{"(", GridBox[{
                    {\(c\_11 + c\_44*b\^2 - pρ*
    V\^2\), \(\((c\_13 + c\_44)\)*b\), \(\((e\_15 + e\_31)\)*b\)},
                    {\(\((c\_13 + c\_44)\)*b\), \(c\_44 + c\_33*b\^2 - pρ*
      V\^2\), \(e\_15 + e\_33*b\^2\)},
                    {\(\((e\_15 + e\_31)\)*
        b\), \(e\_15 + e\_33*b\^2\), \(-\((pϵ\_11 + pϵ\_33*b\^2)\)\)}
                    }], ""}]}],
      ";", "\[IndentingNewLine]", \(DK = Det[K]\), ";",
             "\[IndentingNewLine]", \(a1 = Coefficient[DK, b,
6]\), ";", \(a2 = Coefficient[DK, b, 4]\), ";", \(a3 = Coefficient[DK,
             b, 2]\),
            ";", \(a4 = Coefficient[DK, b, 0]\),
                ";", "\[IndentingNewLine]", \(Tp =
            Solve[a1\ x^6 +
              a2\ x^4 + a3\ x^2 + a4 == 0, x]\), ";
                ", "\[IndentingNewLine]", \(pdecay =
              Array[de, {1, 6}]\), ";
                ", "\[IndentingNewLine]", \(Do[pdecay[\([1, m]\)] = Tp[\([m, \
1, 2]\)], {m, 6}]\),
            ";", "\[IndentingNewLine]",
                 "pdecay"}]}], "]"}]}], "\[IndentingNewLine]", \(F1[GC_] :=
                    Module[{}, temp = FPiezo[GC];
            Im[temp[\([1, 1]\)]]]\), "\[IndentingNewLine]", \(Plot[
            F1[x], {x, 0, 2000}]\)}]\)
第二段程序:
\!\(\*
  RowBox[{\(c\_11 = \((2.1`30)\)*10^11; c\_13 = \((1.05`30)\)*10^11;
          c\_33 = \((2.11`30)\)*10^11; c\_44 = \((0.423`30)\)*10^11;\),
        "\[IndentingNewLine]", \(e\_15 = \(-0.48`30\); e\_31 = \(-0.573`30\); \
e\_33 = 1.321`30;\), "\[IndentingNewLine]", \(pϵ\_11 = 8.55`30;
    pϵ\_33 = 10.2`30;\), "\[IndentingNewLine]", \(pρ =
    5670`30;\), "\[IndentingNewLine]",
    RowBox[{\(FPiezo[GC_]\), ":=",
      RowBox[{"Module", "[",
        RowBox[{\({Tp, K, DK, a1, a2, a3, a4, b, de, V}\), ",",
         
    RowBox[{\(V = GC\), ";", "\[IndentingNewLine]", \(Teq =
       Solve[a1\ x^6 + a2\ x^4 +
    a3\ x^2 + a4 == 0, x]\), ";", "\[IndentingNewLine]",
            RowBox[{"K", "=",
              RowBox[{"(", GridBox[{
                    {\(c\_11 +
    c\_44*b\^2 - pρ*V\^2\), \(\((c\_13 + c\_44)\)*b\), \(\((e\_15 + e\_31)\)*
      b\)},
                    {\(\((c\_13 + c\_44)\)*b\), \(c\_44 + c\_33*
        b\^2 - pρ*V\^2\), \(e\_15 + e\_33*b\^2\)},
                    {\(\((e\_15 +
       e\_31)\)*b\), \(e\_15 + e\_33*b\^2\), \(-\((pϵ\_11 + pϵ\_33*b\^2)\)\)}
                    }], ""}]}], ";", "\[IndentingNewLine]", \(DK = Det[K]\),
            ";", "\[IndentingNewLine]", \(Tp = Teq //. {a1 -> Coefficient[DK,
              b, 6], a2 -> Coefficient[DK, b, 4],
             a3 -> Coefficient[DK, b, 2], a4 -> Coefficient[DK, b,
              0]}\), ";",
                "\[IndentingNewLine]", \(pdecay = Array[de, {1, 6}]\), ";",
                      "\[IndentingNewLine]", \(Do[pdecay[\([1, m]\)] = \
Tp[\([m, 1, 2]\)], {m, 6}]\),
                    ";", "\[IndentingNewLine]", "pdecay"}]}], "]"}]}],
                    "\[IndentingNewLine]", \(F1[GC_] := Module[{}, temp =
              FPiezo[GC]; Im[
            temp[\([1, 1]\)]]]\), "\[IndentingNewLine]", \(Plot[F1[x], {x,
              0, 2000}]\)}]\)
这两段程序的区别是,第一段程序直接求解了一个系数已经确定了的一员六次方程,儿第二段程序是先求解了一个系数待定的一员六次方程再将系数值代入。

[ Last edited by kuhailangyu on 2008-12-10 at 08:18 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abingchem

木虫 (著名写手)


wuguocheng(金币+1,VIP+0):谢谢参与 8-11 13:02
这格式太难懂了,附上伪代码啊
冰是从最寒冷的那天开始融化的
2楼2009-03-27 14:58:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

★ ★
wuguocheng(金币+2,VIP+0):谢谢参与 8-11 13:02
你的问题在于用Solve函数分别作解析解和数值解。而使用Solve函数作解析解不能保证每次求解所得到的解的顺序都是一样的,即第一次求解得到解的顺序是x1,x2,x3,x4,x5,x6,第二次求解是顺序可能变成了x1,x2,x3,x4,x6,x5。另外作解析解和数值解得到的解的顺序也是不一样的。而你的两个程序中都只是选取第一个解作图,显然会得到不一样的结果。你可以自己验证上述说法。
    因此,有两个建议:1、做数值解,这样解的顺序能保持一致,而且计算速度快;2、对解出的6个解作合理性判断,舍去不符合要求的解。
3楼2009-03-28 17:25:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhanghuashan 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[基金申请] 能否申诉? +6 echo8914667 2026-08-30 7/350 2026-08-31 08:41 by kingkocxr
[基金申请] 面上意见出来了 +10 黄鸟于飞Chao 2026-08-29 19/950 2026-08-31 08:01 by blueearth171
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +6 gdd2018 2026-08-28 11/550 2026-08-30 08:58 by 超级无敌华子
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +12 Kittylucky 2026-08-27 13/650 2026-08-29 00:04 by superceng
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
信息提示
请填处理意见