QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3346|回复: 2
打印 上一主题 下一主题

mathematica c语言混合编程的问题 大神求救

[复制链接]
字体大小: 正常 放大

1

主题

8

听众

8

积分

升级  3.16%

  • TA的每日心情

    2014-2-6 19:56
  • 签到天数: 2 天

    [LV.1]初来乍到

    自我介绍
    啥都没有
    跳转到指定楼层
    1#
    发表于 2014-1-16 17:36 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    目的是算出cos(x)5次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了
    $ F0 V$ x  P. x  x2 g+ [) x#include "stdafx.h": b0 w$ q  ~7 m* T- ]
    3 w8 S7 V* S# V/ C# A" ^: A
    #include <stdio.h>
    ! V6 n; F8 l! o! R% F/ k#include <stdlib.h>& ^. h7 a, G9 P3 I' [% e
    #include <string.h>1 x) l. K7 W, G3 `, K1 v' r0 v3 k
    * x6 c# }$ {/ L6 _) r; A
    #include "mathlink.h"
    , R% Z$ ^2 T- k4 |9 \! k, }, a# {, ?) C+ `
    double f(MLINK lp,double x);7 ^1 d( @+ l8 g9 I5 s8 m* u# U

    % j& T3 T4 R( G/ ?  c5 }5 [' Bint main()
    ' V6 L2 c- ?8 `: C5 Q) S+ x) Y" M{
    9 N3 m; O$ Y2 X% A& K) n, n+ y        int argc=4;# Y# M4 \' u6 D* \
            char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    9 R' v6 K+ z7 A0 H        MLEnvironment env;//mathlink的环境变量0 J/ }& @8 ?+ _# l$ M
            MLINK lp;& n5 r6 X1 a5 a; F
            env=MLInitialize(NULL);//初始化" O4 ^# P+ z! \4 r- R7 j
            if(env==NULL)% n5 ?3 f5 E# A% `; A5 U& Z' }
            {
    5 }. B5 e" E! S/ r$ l% _                printf("initialization error!\n");
    3 _+ J/ W) x7 T- \                return 1;0 x+ ?- j# _6 W% U
            }1 {# c. R1 v# Z/ R7 \& v5 V& ]$ a
            lp=MLOpen(argc, argv);9 A+ T  K) n$ N) H! X# _
            if(lp==NULL)
    3 P( F7 w. h/ O! t  B        {
    : Y4 k: y" k3 l& S' b' w) s" e                printf("open error!\n");, G+ ~* H  r' p, D* n# Y1 e/ N, G
                    return 1;
    . D/ {9 D" Q: H* I  h9 S  y        }
    : {: t; B" y3 t; D4 U  M        for(int i=1;i<=10;i++)6 m" g5 m5 D( l2 {
                    printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)" g. Z/ ~- o4 L: Z: w" V
    8 q: b4 [& R4 j7 A
            MLClose(lp);
    ( K' W; C! V7 c  J: N% r        MLDeinitialize(env);
    6 W; ?0 W$ \8 `! }2 r: H$ O2 Q% M" Q
            //printf("Hello World!\n");. t+ t; S" ~' d; v" M. ~# s. L
            return 0;
    5 F4 A! |6 u7 x9 s$ t) c" O}
    * M1 o$ O9 _3 a5 S! E7 f/ c0 `6 `  f

    + c9 A: }; i! U" ?1 e: Bdouble f(MLINK lp, double x)
    0 R/ u* @2 x% E7 h' J8 P{
    3 n' B) c: s. q; D7 s9 F        double res; # e: F5 o6 T% a  O9 _( K
            int pkt;
    $ d3 X4 w6 n, r        static int done=0;
    * ?+ e3 U+ n6 w0 h; [; I$ X        if(!done)
    ' g+ l1 a$ E* r" J; H3 U        {
    ) x0 o( B) I( Q, {( f                //char* expression="cos(x)^5";9 K1 I, t" B! Z
                    MLPutFunction(lp,"EvaluatrPacket",1);( Z3 m6 _" t' S- |$ k6 P& E
                    MLPutFunction(lp,"ToExpression",1);1 ?  K$ s# z* ~, _
                    MLPutString(lp,"cos(x)^5");
      ?0 d. J7 w7 M: ?$ B7 n6 v             MLEndPacket(lp);
    : ~3 R8 O2 @+ L$ h4 K  i                while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);
    3 H; h. ^5 J2 S                MLNewPacket(lp);
    ( V0 x; t4 A+ t& j% A0 G) U                done=1;& E, A9 Y  i4 F+ C- r
            }
    + E6 K5 v% F9 f        MLPutFunction(lp,"EvaluatePacket",1);" g+ }9 L2 r& m) B7 {/ b' q
            MLPutFunction(lp,"N",1);
    * p6 Y4 G! P$ t) Z. }        MLPutFunction(lp,"F",1);, t* _5 L% y# }! j! E- r
            MLPutReal(lp,x);. F3 G0 F, D+ e5 D( H! t/ i
            MLEndPacket(lp);' g& s1 s3 [7 x- k. a$ u+ ~/ o; |
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);" g1 Z0 Q) C/ X6 [& ]: C
            MLNewPacket(lp);
    8 k4 k+ Z' ]& o! x2 @0 M. u        MLGetReal(lp, &res);
    2 _  X  a6 \8 k7 U1 B        return res;! ^# }: [4 x6 D9 _1 i5 V; \* l
    }
    , J+ \* P, P, N6 Z, v! a, A" p  z) A% x
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    1

    主题

    8

    听众

    8

    积分

    升级  3.16%

  • TA的每日心情

    2014-2-6 19:56
  • 签到天数: 2 天

    [LV.1]初来乍到

    自我介绍
    啥都没有
    回复

    使用道具 举报

    1

    主题

    8

    听众

    8

    积分

    升级  3.16%

  • TA的每日心情

    2014-2-6 19:56
  • 签到天数: 2 天

    [LV.1]初来乍到

    自我介绍
    啥都没有
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-8-31 11:53 , Processed in 0.381028 second(s), 64 queries .

    回顶部