QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3336|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了& m# f4 L  p, A8 N
    #include "stdafx.h"
    / v3 K5 v8 y# |# e7 b9 I5 M3 K( ]& g
    #include <stdio.h>
    * k8 C2 b4 U0 Z* a5 j#include <stdlib.h>
    " q7 ^$ p8 J0 u8 L% }#include <string.h>
    + q/ m2 g# P( c! E" x6 y7 H6 n
    #include "mathlink.h"
    + h  F+ B% X5 m9 s& O/ {
    $ Y. i8 B, B% T) [- ]double f(MLINK lp,double x);
    # ^- X. ~9 E4 ^0 c( ?# n7 O! V# V7 G: r* b
    int main()
    5 u: T: a# g& k( e/ f4 K: _7 @$ [6 X{, B) z" Z8 \) N$ |) z/ f- D, S
            int argc=4;
    ; a$ j6 V; ~; L& c& T. L, t        char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    $ u& Y, v. |! V* J$ s2 ]        MLEnvironment env;//mathlink的环境变量
    * ]2 U0 ?4 a3 h( b9 F5 d, `        MLINK lp;
    % L- C9 {1 g" O' K9 p; j& }        env=MLInitialize(NULL);//初始化2 r: m1 o: f1 B
            if(env==NULL)+ x8 ]/ M( N2 x8 G
            {# c% X" h7 y, t( P- o* [
                    printf("initialization error!\n");
    - R$ {9 n: c7 a" {& F                return 1;
    ; \, ~* f; m% @        }
    0 D: J) \% J8 x        lp=MLOpen(argc, argv);$ e# v  `% c+ b$ d$ F+ p
            if(lp==NULL)
    5 e4 o. R; M- W7 E        {
    4 B, {7 G" x7 S! x4 F" y) a                printf("open error!\n");
    1 M# v  Z# I7 i5 T  F. S$ l1 G                return 1;
    * x3 f2 a4 ]$ w0 f        }
    ) W& }& E$ P% i( P2 Y        for(int i=1;i<=10;i++)
    ) E% ^1 }& Z, n7 s                printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)
    ) A. f: f2 H. n' Z; K  f# U, ]0 q" A+ \& @) O% I5 L  f
            MLClose(lp);- }( z; ^0 A) ?2 k8 j7 g
            MLDeinitialize(env);) x/ ~' L# V+ D( N
    , F% T4 t8 M* S7 ~
            //printf("Hello World!\n");2 w; E' N1 g& j. }2 ~8 d
            return 0;& ~; r8 M+ v! q  i/ |
    }
    # P5 C5 `5 Q- Z$ y+ T, o1 ?, c7 B1 A% `  O& ]
    % u. X9 u( P" c, S2 G4 u
    double f(MLINK lp, double x)
    0 C# a- ]3 D: N{8 z) L% \- E; A: @- N
            double res; 0 A3 f0 J$ X0 h! z& E
            int pkt;: K  j% E3 K- j6 G$ c
            static int done=0;
    & I3 ?( K/ R4 h" \2 f; [/ K* x        if(!done)
    " z4 D4 V  l0 u* ~" x" ]4 y1 c- S        {4 [; d. O; @) O/ u% f! e( v
                    //char* expression="cos(x)^5";! o/ w% x5 n' i0 L6 d( D* H7 e; y$ h
                    MLPutFunction(lp,"EvaluatrPacket",1);
    8 H5 \, }& ]6 L' o2 t$ c3 R6 p: s                MLPutFunction(lp,"ToExpression",1);
    & _) E% }. a; s& Q                MLPutString(lp,"cos(x)^5");
    ; \) i4 a) O; n& x1 M0 ~+ ]% T. g             MLEndPacket(lp);. L; k$ t: e5 E) }
                    while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);+ j# o( v) W- ?
                    MLNewPacket(lp);. v2 O/ n' h) d% e  G1 L" Q6 w
                    done=1;
    3 U; W: q' F, X  m( R        }; E2 H1 F: I9 f6 u! }
            MLPutFunction(lp,"EvaluatePacket",1);" Z" T4 i" a, E  e# |9 Q9 ?+ m
            MLPutFunction(lp,"N",1);
    ! p; m+ W2 D% R/ q6 x9 V        MLPutFunction(lp,"F",1);
    , O6 z2 K) j9 q$ p! T# p        MLPutReal(lp,x);
    8 e1 B0 \. R. F$ m( v% K: ?        MLEndPacket(lp);3 e& }1 h! p8 j% C: T- X- k
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);# @( f% \3 n& n0 K& n
            MLNewPacket(lp);; T' @- r+ A& w" ~& E$ M+ a) c& R" j
            MLGetReal(lp, &res);
    ' Q0 |: F8 C7 N" ?        return res;
    + H! U. y4 I( ?, f6 O: Z6 V}
    4 {$ \1 r6 `4 S2 N$ T& y7 M6 @! L# F% }* x" B7 Z  J( P
    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-24 01:57 , Processed in 0.364801 second(s), 64 queries .

    回顶部