QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3399|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了5 _" R0 n: h0 I( ~% z8 T& e
    #include "stdafx.h"* R! N9 u8 Y+ X2 d4 X7 A/ }3 A; Q
    ' [; n, N% Z& I
    #include <stdio.h>; o) G5 I8 O" g3 l# ~7 \
    #include <stdlib.h>
    ! \" H8 q, ^5 K* r#include <string.h>* H4 v( p9 r' s; V
    / R! ?2 ]" N2 u1 n* y
    #include "mathlink.h"
    : U) L6 f4 |& Z3 w, \7 u: L6 _  q# e# t7 k
    double f(MLINK lp,double x);+ R/ x; n' Y' W1 N. D, C4 P  c
    4 N) I/ X7 f' v+ q! R, `
    int main()7 a7 A; y( A2 T8 p: \+ e. @4 n6 p
    {& h1 H3 c& ]) _/ o& h9 q
            int argc=4;
    . i/ n8 I/ W$ L5 m% ]        char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    5 h3 ?& k8 R  X8 }3 M) Q        MLEnvironment env;//mathlink的环境变量! G7 ~4 i% g: t* N! A0 T
            MLINK lp;
    3 j! t6 D4 E( U4 z        env=MLInitialize(NULL);//初始化
    ; h' J3 d5 M% e" T; {9 E2 m        if(env==NULL)
    4 ^3 Y, f* y% ~& E9 k        {5 E% r2 N6 y$ u
                    printf("initialization error!\n");
    ! o$ u5 }. i% ?$ L% u5 g                return 1;' }$ y+ F$ R8 e' v
            }
    3 e9 R% j  p  P# [        lp=MLOpen(argc, argv);
    ' K* W; u( k+ w/ n+ l4 w) I        if(lp==NULL)
    " x" |2 a% {0 n1 l        {# I3 w: J9 r0 X7 X6 N# w8 R$ x
                    printf("open error!\n");+ m( H# B# A& }! Y& p$ |
                    return 1;; Z$ z- C/ ]) o9 h$ ~# @
            }
    4 {: \/ X( I3 \) Q8 D/ K8 x        for(int i=1;i<=10;i++)
    - O* I* O; t8 V0 x                printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)0 S2 j! P5 v1 O$ m( Q6 B6 {- |
    0 a% \( c7 I, O. D
            MLClose(lp);  p* A% |. Z! C/ I! i" J/ _
            MLDeinitialize(env);
    - q+ v& d; r0 @# r8 _. E4 X+ }
    ) S& t8 k+ f/ E- q3 n. B        //printf("Hello World!\n");
    ( u6 e. `( J; V. M8 d% p        return 0;5 p/ x0 h4 u5 F$ e8 i0 x
    }
    . H: u# q/ {* z& {8 U% A
    ( S( E! h. h# j; {& J5 e0 \; U6 S& `0 R) U1 O3 v. x
    double f(MLINK lp, double x)! a* q' d) D1 W- u) P! F, x
    {  U% N" }2 Q7 n0 a" O
            double res; 4 [' W5 J3 P# X4 V  X
            int pkt;* y- G7 A0 U( T! l9 k
            static int done=0;
    1 D/ b/ y; j1 k# a        if(!done)
    7 q4 G+ P7 V, D; t3 [  p9 c        {+ M; m; W6 H. H6 o5 N+ R& G7 k9 O
                    //char* expression="cos(x)^5";% ~2 [9 A" w7 r  T) L
                    MLPutFunction(lp,"EvaluatrPacket",1);
    8 |" ~' T  o; L. y8 u7 N; @. _                MLPutFunction(lp,"ToExpression",1);
    7 Z" E( V* b5 y                MLPutString(lp,"cos(x)^5");4 t0 e; i# O" V2 H( `
                 MLEndPacket(lp);3 T  a" D) Q8 r1 B4 M& E- X, z
                    while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);
    ( Q) w) o2 U( i5 s+ K* ], S0 b+ g                MLNewPacket(lp);' R/ g- w, n2 g$ @
                    done=1;
    ) q, A+ @( _8 G5 l& e, k        }
    & F% H$ v- N% E        MLPutFunction(lp,"EvaluatePacket",1);/ g. F& O& R) b; Y6 {8 t
            MLPutFunction(lp,"N",1);8 v9 E# E6 k# R3 V$ V, C, t
            MLPutFunction(lp,"F",1);
    4 A; R1 ?% o& u        MLPutReal(lp,x);
    + u( i6 |% e7 L- g        MLEndPacket(lp);6 E5 ^- ?2 }' V3 v" Y' I" {
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);
    3 e" m/ r) Q' c$ \! Q# J        MLNewPacket(lp);
    + c2 c" \. R  h6 ~9 q        MLGetReal(lp, &res);
    ! F( q' F' u3 `$ E6 X        return res;
    8 L, m  e: [0 b+ _}
    # b1 L/ k" a5 }! {( U
    $ W. f) L+ M& r: A, B* t1 a+ t+ ~
    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-10-10 03:24 , Processed in 0.309672 second(s), 64 queries .

    回顶部