QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3416|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了; m: \% K! B& K( o3 @: A7 r* J4 L" o
    #include "stdafx.h"+ I! p6 i' _# }  K2 Z$ R! y$ N" }* u
    7 G9 F9 V8 O8 I* |; }/ j# K
    #include <stdio.h>/ E8 `  A# Y7 @  e& `
    #include <stdlib.h>9 o$ r( V/ c6 T. E
    #include <string.h>
    ' `' u7 @* j5 g  j0 {* k) I: q  X9 s# y
    #include "mathlink.h"  c: w4 G, D7 j: c2 n) |: |

    # s# E5 K( U& ^* a  {- cdouble f(MLINK lp,double x);0 V1 a, p! \+ o* y4 F

    4 R" _& f, k2 m: l, s& \" G9 J1 b' Sint main()( @7 A  U9 w, A3 K' U7 T
    {
    0 X+ K% e$ ~8 E1 p3 M+ k        int argc=4;3 p- v/ M+ ]# k$ u) I9 q
            char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    , _# w* k- f. f- I- X* d7 e( G        MLEnvironment env;//mathlink的环境变量
    3 T1 }  W3 I; B. ^        MLINK lp;
    5 }9 E. @  G/ C$ u        env=MLInitialize(NULL);//初始化& {1 Y8 R7 X7 O8 Q6 ?: R
            if(env==NULL): Y' A4 ?1 j! N" ]+ K
            {
    , K' c/ S- F" w% t                printf("initialization error!\n");& T/ s( T; S3 W* Y# }9 a/ k+ [) w
                    return 1;; ?: P$ G; T. g, K/ s4 ?* }: t0 |  P
            }
    % C" P6 R7 E; D, f- l8 V1 F# m        lp=MLOpen(argc, argv);
    3 P7 m9 q) x4 ^0 X8 K        if(lp==NULL)& a* `4 {0 i8 f" u
            {4 ^9 T/ O8 l; K. |5 U
                    printf("open error!\n");( [4 ~1 D& I# F# @8 W
                    return 1;0 D0 b9 p5 E% k( E
            }
    : f' w) Q" i" y        for(int i=1;i<=10;i++)
    9 z3 T; M6 w" u1 h6 x                printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)
    . x) b* D. {7 a
    $ W4 I0 h' A/ W! R        MLClose(lp);. b; _+ f% ~3 T" C
            MLDeinitialize(env);
    / q3 z1 z# F5 R5 v- G  Y9 R' V$ e
    ( L; Y/ v" f# b8 J) b, L9 t        //printf("Hello World!\n");1 D5 f; ?7 k  B# ~$ Z
            return 0;. N  x( ?2 \6 ]2 o# V5 G/ X6 l+ A
    }* E3 E. m& ~! P6 m

    - }* t+ r* c0 Z' I7 `5 n2 W  n7 D  W1 D. O, X
    double f(MLINK lp, double x)
    , U7 I1 L( P4 `) K% {) d8 j, U{9 t* t& y3 l4 e6 D& H: v
            double res;
    " ?' C- K$ d. a' n, j- R        int pkt;' p+ Q" |# n3 n
            static int done=0;) F1 k' I: x1 j4 L8 R' N" |8 ^
            if(!done)
    ; y0 Z1 [* k/ H) Q8 C- N7 y        {7 L/ U* i$ R) u9 q
                    //char* expression="cos(x)^5";- f: K* I+ ^# v* h: Q" ~' G1 I
                    MLPutFunction(lp,"EvaluatrPacket",1);
    : |& a% M; R) _. K                MLPutFunction(lp,"ToExpression",1);% g5 j+ L2 i4 _1 K/ z
                    MLPutString(lp,"cos(x)^5");/ K. _4 y! h. H7 ^3 u
                 MLEndPacket(lp);7 O! Z# F5 _) i- c" E
                    while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);
    2 h2 y5 Z8 [  l9 j% \                MLNewPacket(lp);* P2 ^0 k% H2 U" ]7 C
                    done=1;
    5 O4 ?( T1 q  L- l        }2 `7 U4 D2 D" \2 y5 p- k) h$ C
            MLPutFunction(lp,"EvaluatePacket",1);- O3 H, N3 `, s$ L/ H* Z
            MLPutFunction(lp,"N",1);6 r3 J9 A+ `+ `# V
            MLPutFunction(lp,"F",1);
    % H! T9 H: M4 c7 h$ b" h9 X% H        MLPutReal(lp,x);; \' _! I# M% F/ R5 V
            MLEndPacket(lp);% Q" K4 l: E4 z
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);* P" h4 U7 c4 Q7 I! i2 j7 ]) @
            MLNewPacket(lp);
    - v3 Y8 W; k( x9 o+ X/ }        MLGetReal(lp, &res);6 ]  l) W1 n. I) S; b$ V* H
            return res;2 {" Q3 L) P: }
    }
    ; _* \$ Q0 h. {* f8 b; S& Z
    3 Y  C) |: k2 k
    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-10-17 09:18 , Processed in 1.783437 second(s), 64 queries .

    回顶部