QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3239|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了! G+ T' L! X% s+ X  l* i
    #include "stdafx.h"
    - K4 {) ]0 `: Q8 a' m0 L) i* b
    - K# G% X# t- g4 }' J#include <stdio.h>1 x2 m1 M- v9 o: b- n+ ^
    #include <stdlib.h>
    ( x0 y2 Y' c; N4 P#include <string.h>$ v5 N# H1 i8 e1 c$ }/ U0 ]
    . P1 z+ j* y  g1 l
    #include "mathlink.h"
    ! W* h3 G6 x: s: \/ c% Z6 `4 D; U: {1 [9 o; e
    double f(MLINK lp,double x);$ f$ y+ W6 R8 l* H+ \" r

    ; P% g5 i3 U  e. X6 h7 dint main()
    5 B& ^! T) Y+ E  Z2 H7 y4 ]& ~4 \{
    " E: b5 @% c4 P0 B0 b        int argc=4;
    + c5 ~0 R9 x! b& Q        char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    & ]6 Z" f0 S1 v4 O) L        MLEnvironment env;//mathlink的环境变量
    ' Q* {, j8 J# E* w5 |        MLINK lp;: e( M' i6 r6 K. _/ P' r9 R# M5 @$ ^
            env=MLInitialize(NULL);//初始化. e7 ~# M+ f* W8 ~- R; y) g/ K  A
            if(env==NULL)# Q3 C3 w+ `% Q& b
            {* n* ^: T' M' t; f1 g7 D, y
                    printf("initialization error!\n");
    : i- T" b8 i2 h' e; W6 t                return 1;
    8 E  s0 Q6 [# z, t* N  g: V# ?) K        }
    # ]& w  g# X% x3 f: p- T7 z        lp=MLOpen(argc, argv);1 Q" u# {6 ~- o; W1 Z! ]' q
            if(lp==NULL)
    4 R' O' i; m0 v0 |) d# c6 o        {
    5 ?; V8 E. R5 D  [                printf("open error!\n");
    ( G1 |; C6 D: U  @2 b; B. P                return 1;
    5 z( \, w% k$ S3 f* N        }) S) Y; N( ?# B
            for(int i=1;i<=10;i++)! v6 A2 }7 G" s& V. C1 ^
                    printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)
    + z/ s  D( E, g5 `
    . H; t2 o3 B$ p& G7 e3 l8 A% c' o* Y        MLClose(lp);) r1 c% i7 S2 D3 K
            MLDeinitialize(env);% M* H+ ^7 b4 i7 r; G7 z" B* j" V
    % u6 _) Z0 @) o7 o  T5 q
            //printf("Hello World!\n");
    ' E# X1 s- {" i- V        return 0;
    * |7 y# A1 h& X1 K}
    ! H$ n/ m- i& y" z
    & E3 a0 L; s! o/ V" {. j7 C7 J% C0 Q6 n" |3 F3 m6 q
    double f(MLINK lp, double x)
    1 p( g8 i# u3 }$ ]) h9 m1 ~7 V{; B) s, s$ _8 b
            double res; ! `8 ]' c5 w# b$ y* h
            int pkt;1 ]$ G  u  j2 w7 K0 [
            static int done=0;+ H, T( r  B; E! S  C( }
            if(!done)5 k5 x: i  }0 Q) ^* G0 p9 h) e
            {, h8 z" [6 n3 U) Z
                    //char* expression="cos(x)^5";. R) y2 M! V0 q% D2 `' d, L
                    MLPutFunction(lp,"EvaluatrPacket",1);5 T3 s) _9 N$ }* d( N) f
                    MLPutFunction(lp,"ToExpression",1);
    % B; B5 x" \- e1 ~9 e                MLPutString(lp,"cos(x)^5");8 C( A2 w! F+ t* d/ l7 Z3 v
                 MLEndPacket(lp);
    8 W5 R* S9 n  F                while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);
    ( S- e" B! A5 W                MLNewPacket(lp);6 }& D5 o- F& P: Y# }1 d6 R5 S' y6 f
                    done=1;
    % ]7 q+ \4 n/ s  y# Q: M* j" ]  d        }/ j5 N, Y( l& A8 F& b3 K  e
            MLPutFunction(lp,"EvaluatePacket",1);0 J8 m7 b) w- z- W7 K
            MLPutFunction(lp,"N",1);
    + I% g9 N! L, w5 O        MLPutFunction(lp,"F",1);9 }" b1 Z3 v& U6 H5 U/ f: I
            MLPutReal(lp,x);
    3 [6 t& n+ |& K( J2 W- S( w3 @        MLEndPacket(lp);# B( K1 s3 c" J. M8 {1 t) n- A
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);+ H$ D2 @. A. X7 s
            MLNewPacket(lp);: \8 }. k7 u6 v5 {$ z3 Q
            MLGetReal(lp, &res);
      }, h3 O7 i( Q: y4 U: v6 O+ d        return res;& ~" E' x/ c! B" v
    }- a7 k' u; C3 M' U

    # a- C3 F/ U1 D& w) h
    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 12:10 , Processed in 0.424390 second(s), 67 queries .

    回顶部