QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3240|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了
    5 a" Z! ]* e# q#include "stdafx.h"
    ( p, P! ~& E- k7 o% b. _( a) n. j8 J! ]8 l
    #include <stdio.h>. b  G% s1 n$ p% Y) Y+ w* h1 C6 z( ]
    #include <stdlib.h>8 u$ E& C: H! t+ L
    #include <string.h>
    ! G$ o* k5 {! K
      `7 M4 k. S3 F8 m#include "mathlink.h"! q9 N6 |1 C$ {% r8 ], A

    % N! B" p7 x% i) R: tdouble f(MLINK lp,double x);
    - W2 F, i0 w1 z; J5 L  C
    - M0 u* J; `* O: t8 X* Dint main()
    * p+ K4 h% r! S$ ~. x{$ P6 ]/ U% f5 Q5 y7 y/ u) }* f
            int argc=4;
    9 a$ v6 R7 s+ i5 M0 d7 C; T        char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    + p% \6 p5 w6 |& q( P3 T+ a        MLEnvironment env;//mathlink的环境变量& j: C3 ^- M5 Q) |2 b, r- F# ]9 a
            MLINK lp;: \: ?( o# Q* Z8 o! J- [
            env=MLInitialize(NULL);//初始化
    / q7 M1 q5 ~# j7 [" ^        if(env==NULL)
    ' t9 g: o) e( H& U        {
    # A- r4 F9 p$ K/ J                printf("initialization error!\n");
    8 }  D, g9 X' \- Y( j                return 1;2 A% G" o) m. I4 u
            }
    2 f/ d. q$ l* X" ?- Z3 e9 t        lp=MLOpen(argc, argv);$ [2 N+ H8 N, d* j* c
            if(lp==NULL)4 S0 m5 u0 w8 a+ y( y3 H& V
            {
    - J4 f4 h* {7 T" G; V) s2 O  K  X                printf("open error!\n");
    $ \- N/ j* S, A0 _                return 1;! P- k* r( P4 \
            }! I, {# m4 w* U  A2 E
            for(int i=1;i<=10;i++)5 c6 |$ P) U' L0 T! O( h8 c6 S- y3 `
                    printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)
    0 i3 d5 I1 O  h  ^) x- j. r
    % ~/ q3 d2 y& m* g        MLClose(lp);
    : A$ Y* U$ G& J/ Y8 U        MLDeinitialize(env);/ m+ q9 ^3 m# E* c* v! X

    6 P* Q% D' j; D8 s' N; Y        //printf("Hello World!\n");
    2 S& i! N  }+ a! z& b( R( k3 h* K7 u        return 0;
    0 F8 s( t) }$ y$ u}" P. Z% ^2 }: j/ {7 M1 Z
    + C7 `) ^  Z* S, }
    ( S1 K/ q* u7 o7 j8 ^1 f
    double f(MLINK lp, double x)
    $ R0 E5 m0 n8 x{7 O4 u+ P- W! k& p
            double res;
    0 R5 W% i7 p% Y4 X! [        int pkt;% z  B) u# J- Q6 ^8 c
            static int done=0;
    $ z% p8 U( s7 P  T+ ?% R        if(!done)/ r3 D1 Y5 M: T: r5 s
            {* K9 K- Y4 a. A2 k$ N" @
                    //char* expression="cos(x)^5";
    + h$ Z) O2 Y5 P2 l" ?: `; {                MLPutFunction(lp,"EvaluatrPacket",1);; K3 r: r8 W* F; ~  e0 d; S& }
                    MLPutFunction(lp,"ToExpression",1);
    , T5 F4 e  n& Y" p% j3 s                MLPutString(lp,"cos(x)^5");; y( t8 Z4 O! ^+ }
                 MLEndPacket(lp);" g+ t: O0 x! u" M+ t8 g
                    while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);
    " J" A) J% y: ]                MLNewPacket(lp);& z0 ?% u. o5 |' y
                    done=1;/ \7 n# ^$ U+ s
            }
    ! Q' {1 R3 s9 l9 y- p" X% |8 Z# ^        MLPutFunction(lp,"EvaluatePacket",1);, O, d- l8 P) I& _# l- A" I, z
            MLPutFunction(lp,"N",1);' d' q2 i% J2 |7 E9 H9 J
            MLPutFunction(lp,"F",1);
    0 |& a- ?! M; U% m+ a& I5 ~& S        MLPutReal(lp,x);0 ?( J1 d& s+ r; L& |  x
            MLEndPacket(lp);
    2 n/ b& B' K9 S3 z7 z) g        while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);4 P% N) @, {( h9 Y! K% J
            MLNewPacket(lp);
    4 y0 ?  O, F* H6 q: a' ~        MLGetReal(lp, &res);$ o& \$ s+ ~9 K; W+ `+ {
            return res;6 B- S5 \& X$ {$ s; y, D
    }" C0 G8 n5 N8 I# c5 m
    ) u) c' v: B3 ^! f6 ^( _; B
    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-4-21 19:00 , Processed in 0.421339 second(s), 63 queries .

    回顶部