QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3345|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了
    1 j. H: H3 ]6 _0 Y#include "stdafx.h"
    / j( k, R2 G- U
    & Y0 Z5 c7 A9 L#include <stdio.h>0 F  G5 k8 }5 d, ^+ x- A0 n
    #include <stdlib.h>5 V( I4 O) p2 U% k9 s* Y4 g& Q+ V
    #include <string.h>
    7 C  s7 M7 z- P  r! s  F
    7 Y  s; w9 b8 f1 g  z  y#include "mathlink.h"
    7 ^7 o* g- n3 w3 i6 a1 W$ v9 u; X  q- S0 r5 Q: G8 C
    double f(MLINK lp,double x);0 p. T7 J6 \- k0 f" ]6 }$ A  q

    8 R4 l9 M) @0 h8 m' Pint main()
    , U5 F* J# y1 C4 Y% E{# x$ U3 H. `/ E
            int argc=4;2 {2 _" ~7 [$ ^6 j5 C. `% \
            char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    6 s! K7 {8 H) L' G1 r        MLEnvironment env;//mathlink的环境变量
    9 V  m! n2 U- {" }9 K" ]        MLINK lp;
    + n( s  M$ b! a; ^0 m" V! A+ P4 ?        env=MLInitialize(NULL);//初始化
    5 F( G: t# q) `8 v        if(env==NULL)
    % K1 b3 V9 M# {$ l& g* O! [        {1 R) E6 c8 ]7 V5 \0 Z
                    printf("initialization error!\n");
    2 V" U) e, B  [5 l! ^                return 1;# X$ p# \' Y0 `  L) s5 H
            }; a6 v' R% g, o
            lp=MLOpen(argc, argv);: {* ?) K  e3 `- d4 p9 O# }/ T
            if(lp==NULL): {: Q$ m7 g$ n2 x
            {9 P" u, E% X+ g0 I' D) `6 X
                    printf("open error!\n");! W3 o1 o9 m# N& X) ]
                    return 1;
    2 b; _. _) ]& i1 s9 n9 B: ?) o        }
    1 ~' \) _$ A( F  C% x, H        for(int i=1;i<=10;i++)- ~* ^8 C7 p2 _. t
                    printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10). K3 @/ Z2 U& W8 v* m
    / b( B2 P! I) P3 u( @/ h
            MLClose(lp);
    6 r, B: Z4 j$ a! r, N- w8 ?% ^0 z        MLDeinitialize(env);/ D. e" y) t  j8 d. Q( r

    # P7 |$ h+ C7 ?1 l' g+ p' Q        //printf("Hello World!\n");/ i# i+ i6 \. X) h: r
            return 0;
    3 G. O0 I1 @7 A- d! l3 ?5 c}
    # k/ i. t7 e8 K* p0 a) K0 t+ z- e' V3 Y# l

    ' q6 J" e) ?& Ddouble f(MLINK lp, double x)
    * f2 p% _+ j) m& U4 @* p4 Y{
    5 w+ d% \0 L. p5 h0 a' l        double res; ' {7 e9 Y3 R6 s8 U8 S) O
            int pkt;
    , K6 X0 q( @4 n2 ~% f. R        static int done=0;
    9 \* y; t0 @& _        if(!done), t% u# T* u3 Y: Q% I5 s% F
            {7 K, N1 V, c9 \- B
                    //char* expression="cos(x)^5";" b6 x8 M# j" v) T4 G: s
                    MLPutFunction(lp,"EvaluatrPacket",1);6 W; {& I9 c" ^& d# H& x
                    MLPutFunction(lp,"ToExpression",1);# S, x* z3 \* X6 Q/ v2 k0 k
                    MLPutString(lp,"cos(x)^5");
    ' q( d! u9 Z/ x0 j# S             MLEndPacket(lp);
    ' w0 i, x$ T1 g( X4 _+ k3 K                while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);
    ; p5 P2 S! B# {- w  O$ @                MLNewPacket(lp);* ^/ g4 J+ {- a: s. I
                    done=1;% r; X: ~& ?. c( f$ W' i7 ^% {
            }) ?' G5 Y& c( p% A( v9 z
            MLPutFunction(lp,"EvaluatePacket",1);4 I8 o4 A% m; i4 u4 B9 f# `! \
            MLPutFunction(lp,"N",1);
    " ~  @" d. v0 g5 A/ K0 s        MLPutFunction(lp,"F",1);7 x8 e0 Y9 q3 c$ W" L* K" x6 l
            MLPutReal(lp,x);2 X- A1 W- l7 [
            MLEndPacket(lp);% k3 c8 @( p! g% T, A( }. b; N+ s
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);
    3 j& f7 h& q- R( P) y        MLNewPacket(lp);
    0 Z& `* N9 s/ x. T        MLGetReal(lp, &res);
    0 z+ }4 k! w/ C        return res;- \1 s6 D3 d2 _
    }
    # k6 H. I5 b& p3 v' T+ o( m3 f
    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-31 06:15 , Processed in 0.335013 second(s), 63 queries .

    回顶部