QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3293|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了% `! w% \% n" O% m1 R! w7 w
    #include "stdafx.h"& a8 h* x' w0 y/ ^/ y; E
    6 |3 _2 B+ n, D6 m
    #include <stdio.h>
    % m+ d/ x( V% @, Q, O#include <stdlib.h>" I0 n. s; e+ O/ p6 @& |. {1 x
    #include <string.h>  w) O8 P* G' w- a

    % E6 v6 N; f4 N#include "mathlink.h"! S5 s+ U( w1 N
    3 @( o' m) ?: V* F0 v4 |
    double f(MLINK lp,double x);
    $ l- n  {. F8 H7 ^$ y! J. M2 C9 m$ e* v! q, Z2 b; n: y* o1 W
    int main()9 Z& r5 P1 h/ n2 U, ~
    {
    ! t  l. ~, g4 B% h. z        int argc=4;7 Y% R8 k9 b7 c( ~* h
            char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    ' j* u- n- G3 _3 |/ f        MLEnvironment env;//mathlink的环境变量/ z3 A+ h6 @0 z+ Q. Z( E& P/ D
            MLINK lp;
    . K# b! G, o. d        env=MLInitialize(NULL);//初始化
    # }9 l) |/ \9 i, T8 A3 m        if(env==NULL)
    # |% A( n, Y4 C! @) P" _        {
    / b& n, C( t- P% v3 _+ C0 a) _9 \* T                printf("initialization error!\n");. \0 s1 k% t" g
                    return 1;
    : c9 _  O, q2 S: ]  g8 K) y        }
      }& r2 F3 ]( ~2 t0 J8 v        lp=MLOpen(argc, argv);
    $ X- ~; T9 E+ [6 j        if(lp==NULL)
      x& ^' A' W. q* G; p; m0 l        {& o% i! P8 y" Y5 C
                    printf("open error!\n");* @  h% C: j8 J8 M
                    return 1;- X# Y! b3 _  D" j1 [
            }
    $ ]! W2 }6 X3 x9 `' h        for(int i=1;i<=10;i++); l! s9 g- E# c  w4 d7 g- f) b
                    printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)0 B1 w6 b5 [1 [9 W

    1 ?  y2 q6 {# u! C7 {/ g9 x        MLClose(lp);* J$ I' t+ ?- d( C- o
            MLDeinitialize(env);+ c" v4 o' Q" W& u3 D* i
    ! i+ F; v: U, l1 _1 W
            //printf("Hello World!\n");
    . p0 i8 O! V1 Y6 ?0 e- p        return 0;
    1 k! X" _2 Z) t5 V# C& ?}
    : k  k6 a4 y7 ]6 p3 R# I" R% E, B7 F7 M" F$ z% [9 E
    2 e, r5 b1 i" H9 {
    double f(MLINK lp, double x)
    - ^2 ], a$ u+ r7 I# Y9 B9 l{
    $ ?6 v4 w# N& D6 B9 w        double res;
    . {9 d% L2 J9 `$ I        int pkt;! E9 `0 o) _4 V
            static int done=0;
    9 r' \7 F2 M; ~  O& H/ e/ @# _, ]9 V        if(!done)
    , H2 T" R& G/ X# |/ @        {5 ]5 @) z: W/ B1 w
                    //char* expression="cos(x)^5";0 r6 k. t3 ?, O+ Z$ }; s6 t% {
                    MLPutFunction(lp,"EvaluatrPacket",1);
    7 h# T1 d* I: d$ _; P- h; x                MLPutFunction(lp,"ToExpression",1);
    ( {/ d) p0 ^. D+ v' c) C                MLPutString(lp,"cos(x)^5");6 |! }, ^9 r7 l: B. Y7 O0 T$ ?& X  D
                 MLEndPacket(lp);/ ?2 l+ _6 a3 ?6 G/ N4 B
                    while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);
    : f; t1 @: t9 V( Z# P                MLNewPacket(lp);' y) V; w1 D* a7 w4 i2 C
                    done=1;, L$ w+ q, g. |% w* u8 |" L
            }7 ?, x* D& V$ w5 I  R  V5 v
            MLPutFunction(lp,"EvaluatePacket",1);$ v4 m, s- R1 v  X1 @6 {
            MLPutFunction(lp,"N",1);1 x' [, o0 W/ m" O4 t, I6 M$ y+ _
            MLPutFunction(lp,"F",1);
    5 [- a$ U; Z" S, {7 {; N$ {7 |        MLPutReal(lp,x);
    % F. W  ]) |# J4 r        MLEndPacket(lp);; f- v7 T' M( k/ Z% C/ X# x) j6 I
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);
    8 _$ D0 J# q$ r0 y( Z        MLNewPacket(lp);
    ; N& [4 i# ]. N        MLGetReal(lp, &res);$ O$ s$ {4 D' {$ k
            return res;' b4 K# k4 q3 p- Y, z. h  O& s; g
    }
    2 B0 c7 K1 e0 {( g& m+ a/ H: ~  `: S  E
    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-6-12 14:59 , Processed in 4.370223 second(s), 66 queries .

    回顶部