QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3414|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了/ e; V& X1 M; N& j
    #include "stdafx.h"
    ' _' S7 f) u: @* C* C. h
    + r8 ]+ h8 I* i! A#include <stdio.h>4 O2 _. w" h' g, N& K* p& @
    #include <stdlib.h>& X  a0 a# p& [% B9 t
    #include <string.h>
    - V1 d! \' }$ i' F& H- Y: n" M2 V  g6 Y
    #include "mathlink.h"
    5 t6 ?. F3 I: F: w4 U
    ( M7 v1 q0 r- k* c9 kdouble f(MLINK lp,double x);
    + ^$ X. e2 v! d8 k  A4 F
      |, j1 Z: S1 N% Y5 _1 C' Jint main()
    ; ^  \" O, H& \! p6 p# c; Y{3 K8 Q1 u- M1 P: y+ ^" h' F3 t! j
            int argc=4;9 T# H- Z+ k, L9 c
            char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
      b% N9 ^4 g( r- ?0 N2 x        MLEnvironment env;//mathlink的环境变量
    6 L& h8 T. K( o7 {5 v$ P" ?- b        MLINK lp;
    " Y  q6 z* O7 w, W$ f9 w        env=MLInitialize(NULL);//初始化
    , V7 _( s0 R4 F, [) m) G& [        if(env==NULL)  n, r' ?" L4 S: }3 V
            {
    , x4 C) [/ [0 j4 G                printf("initialization error!\n");
    , [4 l$ `, K6 B& z                return 1;+ J* M' \9 D$ q9 h
            }
    ! M- b1 ~5 G: T) w5 k1 [6 P        lp=MLOpen(argc, argv);! f$ O9 ~: z0 r0 {  d/ N
            if(lp==NULL)
    # c& s0 j* f. D/ T: \        {
    3 {7 e6 P; C3 z4 c8 B: l+ \# x( \                printf("open error!\n");( C" Z# ?7 C, B, G
                    return 1;* v: k6 a% [8 r* g4 q. l% F
            }1 ~: ^. r, m  o& h
            for(int i=1;i<=10;i++)
    ' Q2 }9 u; H- ?, w: l  Z. ]                printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)+ y, h0 g. d/ [, Y7 N3 G# Q
    8 I8 Y7 U7 c/ z0 [
            MLClose(lp);' l; x6 R" r7 V
            MLDeinitialize(env);
    $ p! q* o7 i7 P. J( G
    7 K+ W* f5 \' m" v  b9 {        //printf("Hello World!\n");
    / W2 t, A0 x3 ^5 S- Y0 j        return 0;
    5 W( f1 Q: d: d) }  K9 m& A}  @& w! N( [/ d9 K/ g& F  k5 v% j9 {9 m

    , p* q8 o  ~  c' i: m- R
    $ g6 Z8 L/ b+ P' d' v2 O) wdouble f(MLINK lp, double x)  }( }2 A: W: y# ^, A% c; e
    {
    3 V; N# ~2 J0 N6 o        double res;
    5 [; t% v- H' i- l        int pkt;
    3 B( }; N: p9 ?- F  k        static int done=0;# P$ E& z  O) i/ H( v/ A) t
            if(!done): ^* W6 z6 m2 e( C
            {/ c  Q5 |& R9 }+ m) Q5 x
                    //char* expression="cos(x)^5";
    & x- Z1 q0 \; o1 c+ U                MLPutFunction(lp,"EvaluatrPacket",1);( i( j; V( \0 K/ B2 c7 m$ w3 A
                    MLPutFunction(lp,"ToExpression",1);2 z6 u- h6 H9 ^
                    MLPutString(lp,"cos(x)^5");/ b* L1 o7 E, G/ M& i
                 MLEndPacket(lp);
    . h6 i9 B# P  ^( M0 `' P" L                while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);/ i5 \3 K- h" U0 J  r
                    MLNewPacket(lp);
    5 Q" R8 M& f; z                done=1;  t! z+ k9 u/ O# i' _% x. P# z
            }
    ; w; J" y" v( K" v        MLPutFunction(lp,"EvaluatePacket",1);
    & x/ x2 n) q; {% J& @4 M' L        MLPutFunction(lp,"N",1);9 K# x  l" j& N+ d
            MLPutFunction(lp,"F",1);
    5 e  k. s' X* P. V. w2 S        MLPutReal(lp,x);+ f) Z* e1 i! F! H2 Z
            MLEndPacket(lp);$ d& W1 a4 |1 j
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);$ R. S2 u; O* ^# K/ I7 b' q
            MLNewPacket(lp);; G1 D0 d2 i3 S. u! T& H  H
            MLGetReal(lp, &res);7 P6 @7 _4 u% l/ z+ ]
            return res;, u6 V( l2 N3 t$ n# X
    }+ _; M: N; ]- k" u* h* {4 U

    . K+ K; A, ^9 |! v
    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-16 06:28 , Processed in 0.572052 second(s), 62 queries .

    回顶部