QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3262|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了$ b+ `( ]8 _2 B4 N7 D! d& U) r
    #include "stdafx.h"
    " b4 `# L; ~# r$ ?4 c% r( D
    + ]6 G5 ], p  [- e7 R#include <stdio.h>
    2 E2 M: b+ W" A#include <stdlib.h>, S( U5 N+ W- g4 K2 Y* [0 z
    #include <string.h>
    ) w: R  W  A) L" s3 p8 ]$ j; Q/ z; S1 r3 z9 ?
    #include "mathlink.h"* G) `* r% A4 ?3 S' x/ W4 E8 P

    & i: g$ A- W# x) adouble f(MLINK lp,double x);
    # \$ }# M- ]# V' s! k$ a4 @$ k
    ! O1 ?! k9 ^4 P' B% Oint main(). P6 |' G, c/ t' {1 L
    {. P  ?8 x7 \: U6 H# o
            int argc=4;
    1 r! S% G) k6 X# L        char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    2 u8 ~' s$ d( B1 h$ i        MLEnvironment env;//mathlink的环境变量) }% g1 L: q* o9 K( F8 |1 X
            MLINK lp;
    4 x/ }+ u' D# V2 w' r. k# F4 b        env=MLInitialize(NULL);//初始化
    6 b0 {# D* i2 L' t        if(env==NULL)
    ; B& O6 n' {  M" q, A7 s+ X, Q        {  F% a7 P- x  N' D
                    printf("initialization error!\n");
    , ^  a  z% U1 G% T* p9 _0 g' L2 o                return 1;
    . Y  G; q5 Z# Y* U& O+ |" _        }* _+ a1 g' L  B4 x, Q
            lp=MLOpen(argc, argv);
    & z% t' o. x/ B9 |        if(lp==NULL)( h' w5 d5 W! Q
            {  @$ d, Q6 t* H' D5 w' e
                    printf("open error!\n");
    " O$ `; |7 i' u, {% b                return 1;
    9 v* x# y8 O( c0 H8 u        }* V* k* [4 [' G% S5 _. P) o& d
            for(int i=1;i<=10;i++)
    2 H+ w  W; m+ x" s' m" f                printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)5 z2 b3 w8 q# ?& Q
    5 V4 Q! s  L3 j0 c8 l
            MLClose(lp);
    % U- _2 |/ U) Q$ H/ R  ~/ d0 F9 b        MLDeinitialize(env);
    ' B4 h, l4 G! v' D( g. [; S: V' s; M3 X5 K
            //printf("Hello World!\n");
    ! E' p* n9 {2 `- s5 V        return 0;
      V/ V; S8 |  i0 A}0 Q- A1 P2 S& |5 [: N& ]+ o  g
    8 X6 o, y$ r; o' z9 I

    . I8 x! [. b" ?2 wdouble f(MLINK lp, double x)/ P. E) q1 F# }% q4 w9 z% r
    {. B% r2 M  j) A- @* A, \4 M% o
            double res; ! y6 x- i2 U( U0 x5 I
            int pkt;
    + j) J+ Y8 G6 \. m        static int done=0;( Z$ C) I0 D6 A, v
            if(!done)* ~* @; Z4 T: h- t5 P
            {- I! o( h) R# j5 H6 h
                    //char* expression="cos(x)^5";
    2 |3 E9 L) h9 |- o1 y                MLPutFunction(lp,"EvaluatrPacket",1);
    , v+ @/ h7 P8 ^) V, b: A; q                MLPutFunction(lp,"ToExpression",1);
    5 z+ T! W- O9 g6 t6 M* b/ c; u3 N                MLPutString(lp,"cos(x)^5");9 l6 M: _; d- V& ]/ L1 b
                 MLEndPacket(lp);
    ) ~  ]5 e( _8 |5 J0 E9 u" U                while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);
    7 f! n: \6 B% r) i! n7 F                MLNewPacket(lp);' M3 |9 u- E$ i) G
                    done=1;
    ! U3 E/ t# [5 ]9 k5 X        }
    0 s" _+ w/ \3 Z3 U  Y/ G+ l" i        MLPutFunction(lp,"EvaluatePacket",1);6 v9 V6 w* L6 F! c, L7 d
            MLPutFunction(lp,"N",1);
    / p- [4 Y+ c  M* V, K* ?" g7 v        MLPutFunction(lp,"F",1);
    # P# b  b6 j7 v' r) Q. A9 ?! c        MLPutReal(lp,x);+ ?. Q. U# x! r$ _
            MLEndPacket(lp);' S- s; q- {! J" l: C6 P7 @. C
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);
    3 t; A2 Y" o# ~4 G1 ?8 T/ N$ n  @; E3 C1 u        MLNewPacket(lp);
    ( {% }3 Z, l& u4 Q+ W4 _+ H        MLGetReal(lp, &res);
    1 {- c" h$ s" u0 z" l, k        return res;( ^6 A# G; U3 ~5 y! e, \
    }; R1 F% K: s* N7 g1 B# z
    . Q. p2 k3 z+ P1 ?. f
    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-5-4 04:42 , Processed in 0.431519 second(s), 64 queries .

    回顶部