QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3334|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了# F( ^6 U4 P6 {% R, D1 _( V
    #include "stdafx.h"
    % t9 c: \8 B8 a; J' N7 A' Q7 z# M/ O4 @/ A& |
    #include <stdio.h>
    7 m: o# c& G8 h#include <stdlib.h>
    / X9 }+ j( a5 n4 S# V#include <string.h>
      l& o. ^1 r8 u6 Z6 o; Y1 X: r5 c, |9 D
    #include "mathlink.h". o$ _' Y2 b- F! U" _6 M

    : {- z  r8 O/ C+ A8 g/ `double f(MLINK lp,double x);) B3 J$ p5 ~$ e  `$ s7 o7 d
    : r  i8 _  Y1 M6 r# D+ m
    int main()+ y" `& w0 h8 W; Z; w* \
    {
    " Z! m3 d/ w' d9 }% W8 K        int argc=4;
    ; q' ?; T: w' P& \5 A        char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式8 p8 t7 B& N$ B6 v8 F4 [
            MLEnvironment env;//mathlink的环境变量1 Y. N- R& T7 S4 U, Y8 p# Q
            MLINK lp;3 u" Q# P. W+ G& v
            env=MLInitialize(NULL);//初始化9 N$ u; T; I, u2 ~
            if(env==NULL)
    , I4 S! D1 l, D7 m        {
    4 K: D& j, B6 R* Y2 m                printf("initialization error!\n");) `) L  x! v) I) n  L; l, e
                    return 1;* z# K9 y9 `8 @3 J$ S
            }
    ; T8 T. t+ y* ]) V        lp=MLOpen(argc, argv);
    8 @5 {, F2 e3 A  x4 B        if(lp==NULL)0 P9 }; a5 Y& m$ h
            {7 f2 S$ x  ~$ @% |% A
                    printf("open error!\n");+ [: w8 |- \5 G3 k0 W
                    return 1;, {+ D/ |4 o: P) m' j
            }; v" f" Q9 [0 R) S
            for(int i=1;i<=10;i++)
    : W/ i; U! B: U                printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)5 c1 O' A: t' ^: e7 E
    8 s6 \; f# g( R' n- H2 g
            MLClose(lp);
    5 A6 k. J& k6 [7 C2 u) H        MLDeinitialize(env);
    ; X2 c7 n) ^- H, I* k0 a! K: n  O' {( ]% G3 V
            //printf("Hello World!\n");9 W1 h: P3 Q' X, q3 M, ~
            return 0;
    & [% Z6 p# n0 f: y0 q( K9 a1 j}
    ' z* t' H$ H1 D! N1 G0 d: b9 G3 t% O1 o/ n# {

    1 V5 O# }( l' f0 K9 r! Odouble f(MLINK lp, double x). V1 ?$ x! @7 a. p! r2 x: K
    {
    5 L; e% N* c! U        double res; 8 l1 h6 ^& H9 m# Z1 {: z* d0 ?
            int pkt;
    ' Q, b+ w4 ]( ]' ?        static int done=0;. O7 G/ |: ]% g/ Y4 g
            if(!done)' x& t8 S! s$ o4 Z. o3 i
            {
    2 x4 Q/ J4 @  O, B                //char* expression="cos(x)^5";9 h$ V1 @  N5 V
                    MLPutFunction(lp,"EvaluatrPacket",1);
    : B! z& Y% @- v) P                MLPutFunction(lp,"ToExpression",1);
    / f+ ]& {/ Q' E9 _                MLPutString(lp,"cos(x)^5");
    8 g" M3 C6 C  T/ u8 T, B+ J5 X2 ^             MLEndPacket(lp);! U) e( p4 I, D2 _! a
                    while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);
    $ I  O0 b6 u1 o                MLNewPacket(lp);) Q* b& y. _' O/ f
                    done=1;
    1 ]0 G+ L) U9 T2 ~+ Q0 C* N        }2 R# _! o0 I6 Z  w2 T' S
            MLPutFunction(lp,"EvaluatePacket",1);1 }; `, m0 E, ^
            MLPutFunction(lp,"N",1);1 |2 c& [- [$ o& ]  P" ^6 w
            MLPutFunction(lp,"F",1);
    6 R8 j1 j* ^9 k" o        MLPutReal(lp,x);
    5 ^; d2 i5 e5 q) G8 m' l$ }        MLEndPacket(lp);
    5 v7 {; @* g( h* s( V9 W        while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);
    3 f- ~+ A1 D; s+ M; N        MLNewPacket(lp);' c( f% F: ^0 }: Z3 C: A/ E  J
            MLGetReal(lp, &res);4 K* u3 {1 {# ~, |8 I
            return res;
    % o5 J; h$ Q+ r! ?6 d  p}  ~4 L! \9 B. x
    # Z" J' S) s3 H8 U' R- b/ }# z# q
    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-8-23 23:27 , Processed in 0.809761 second(s), 64 queries .

    回顶部