QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3131|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了/ H+ `+ w& Y. R: _! Z' t
    #include "stdafx.h". T' K" j0 H. c% D8 c$ O

    4 P  ~8 r5 _5 b' s3 J7 u#include <stdio.h>$ T0 F' y' t1 D7 E" F& i6 S+ j
    #include <stdlib.h>
    6 y6 Q) e6 u4 ?* X5 P* q#include <string.h>, N# s, P7 S/ [# Q
    7 P; x  [; L) B/ W" G7 {
    #include "mathlink.h"2 e" K' z0 e9 i: \) C2 X3 k
    4 ~) Y/ F) O! c* U" H- V/ O
    double f(MLINK lp,double x);
    4 a/ O' J% w$ K. u3 i( o) H4 Y" ~, E
    " l+ C2 A# y4 @; R' b; p' o/ U% u4 n+ Uint main()
    , D* H+ r- ~( l, Y{+ {/ V2 R" x/ d" s  d8 p% Y9 \
            int argc=4;
    * K; x2 R. g. u5 n; D9 R7 R        char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    2 q. j  Q) r8 R# S- s        MLEnvironment env;//mathlink的环境变量
      H0 m. Z2 j$ X# S! n- p% ?7 W        MLINK lp;7 v) s) e, K! h  ^
            env=MLInitialize(NULL);//初始化
    1 G5 R9 L. C: g* N        if(env==NULL)
    $ C8 m7 h9 H, `  \7 g. }/ d) N        {+ U. h( H1 i$ j( X0 E: g
                    printf("initialization error!\n");
    : {9 J+ ]  |6 I; s# s) e- W                return 1;
    " N/ z4 [! s# Y& v4 C$ m- v9 ?8 q        }8 v4 b1 s5 L' f9 o
            lp=MLOpen(argc, argv);
    3 _9 U; F- f8 Q) t( R        if(lp==NULL)
    , u# D3 U" f% O$ F; S        {
    - n7 X) l* S4 S6 l: M) |3 N                printf("open error!\n");' o, b8 `6 R/ @2 u, }
                    return 1;
    1 o7 A  r* P3 O" n        }
    * Z# \; @- O' Q8 K. f5 y. Q        for(int i=1;i<=10;i++)" C) \' E- J- v0 E# k. z7 \  F" \0 {
                    printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)! y. t' _4 x& F3 h( B" y0 H& T& |
    # T9 p5 X& F2 F3 k5 K! i( M5 \+ x* o
            MLClose(lp);
      S: `# W' z) r3 G, W" U- I! J- O        MLDeinitialize(env);
    ( H: i1 b6 q: d8 P3 \( L' S# r' N1 y$ R$ z3 A# ]
            //printf("Hello World!\n");* d  Y& b; S, d( Z9 D
            return 0;" }5 b0 _' y( y/ f1 m2 {% [
    }$ N( i. K8 S$ |) {  d
    / E0 _7 _7 r1 r4 g( ^: n: @5 d
    9 z8 o; ^0 G1 p: w& }( s
    double f(MLINK lp, double x)
    $ E& P" s- K( r4 z( u{+ Q; M1 n3 f$ K6 l. c( ^
            double res;
    0 c  L) j- l* J4 X        int pkt;6 Q) N7 \% X6 E' b" U
            static int done=0;
    , ]5 p- b/ L% Z% z( r7 M$ q        if(!done)
    " w% q8 ~! ]: i3 b: X4 ]) p2 p        {
    0 n2 B! `+ o$ R                //char* expression="cos(x)^5";8 K8 N; ^5 z8 i
                    MLPutFunction(lp,"EvaluatrPacket",1);% J2 P" t4 N+ ]* L: ]4 E9 Z4 H( G
                    MLPutFunction(lp,"ToExpression",1);# ~* U/ e" H1 d  r5 L
                    MLPutString(lp,"cos(x)^5");
    ) c$ d" \4 ^  ?0 s8 l             MLEndPacket(lp);
    * q% _' y* |4 |6 D, h                while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);: E4 K) u' \% U$ H- s
                    MLNewPacket(lp);
    7 g5 g) [0 {4 F, D$ A                done=1;
      V0 u( i+ ~! F' ~- ]$ x' j, a        }& i/ A* K2 U* q0 d7 G- o* A. C* C. a
            MLPutFunction(lp,"EvaluatePacket",1);
    ' |- \& c$ n) `9 F1 y5 l        MLPutFunction(lp,"N",1);
    ' x; Y  M. F. Y+ S3 r4 v" T/ Q        MLPutFunction(lp,"F",1);; g* c! [3 x* a( @
            MLPutReal(lp,x);
    ' ]; v. D, Z+ b8 B+ y8 Q        MLEndPacket(lp);: h5 b1 x- s0 ^! s
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);
    0 Z8 j* V4 g+ ^' f% \        MLNewPacket(lp);
    ' f1 j( j5 u$ g! U        MLGetReal(lp, &res);
    ( J. W' I, E$ q7 m3 P% Y% x  s        return res;$ N8 _* e+ L3 L! t4 j* _. F, K
    }! d1 n- }0 ~3 W% i
    , r* Y0 u" }0 |4 Z# p' p
    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, 2025-10-1 03:55 , Processed in 0.563704 second(s), 63 queries .

    回顶部