QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3295|回复: 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次方的程序,整个程序为,结果却不对,调试了很长时间也没有搞定,向大神求助了9 k6 B, b7 N& S5 w. t
    #include "stdafx.h"' N: i7 S, p2 A3 Y" O* m

    5 K9 M7 |/ ^4 B" Z#include <stdio.h>% D, _" `! r( l& J6 T8 t. u. v
    #include <stdlib.h>$ g9 u5 v! M( O
    #include <string.h>% N+ y0 i; a6 _
    8 U2 O+ N6 {, X* G
    #include "mathlink.h"4 A; n6 e0 J% C9 _7 D

    ! a3 Q: t0 L5 j% p6 Adouble f(MLINK lp,double x);
    . |# c( K, I! N9 `( i9 R# W  j! |
    2 b; d# M2 r) ~4 k/ }4 ]' @int main()$ }# m% ^! t% p7 ]2 _
    {
    6 ~! W* e8 ^* w3 }& h' a        int argc=4;
    9 P9 ]* |0 \: e. Q        char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    $ K9 b7 @5 m7 p  g        MLEnvironment env;//mathlink的环境变量
    5 L& q; v/ R: Y3 Q        MLINK lp;' x/ }6 K  F9 F# F
            env=MLInitialize(NULL);//初始化+ _. ]$ g# P* m1 U  V6 J& w( s, w
            if(env==NULL)
    * H5 |; p, O  C: n        {
    3 Y; e& n/ F) ^3 C) H                printf("initialization error!\n");5 o9 @7 {) Y  S7 w; V
                    return 1;# W' o! H. \3 ~. Z8 k! s2 H
            }& M% V5 K, {8 Y6 n
            lp=MLOpen(argc, argv);5 E0 F) j3 `5 r  O! X3 J" }0 s
            if(lp==NULL)4 q% f& e; \# a/ D; m
            {
    : p5 m1 R& C, ]  {" x/ G                printf("open error!\n");3 u5 I, ?3 V& z: \
                    return 1;0 J. |* N( {$ W/ C* [
            }- Z# c3 h: u3 M/ ?& j* C3 Z7 n
            for(int i=1;i<=10;i++)
    , B( h4 d: w7 e7 x2 j                printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)
    ; X  i, H) j( e; g! c& F. r9 J0 d& U- @( y! v$ K/ L+ C( w
            MLClose(lp);) x0 E( n0 L9 [7 G
            MLDeinitialize(env);- [: u# ?2 D3 b& }: }; ^+ M- F

    ( W8 F, }- D: ?6 C4 T        //printf("Hello World!\n");
    9 L8 Z1 w  }. g/ A3 b        return 0;7 ^; m# O9 \: i! Z) H, j% ^
    }( y" U$ ~. f) C  Z

    + |' v0 C0 E, e* E( R. L% A% Y3 m$ c# t+ J& ^
    double f(MLINK lp, double x)3 U4 A4 |4 R" g3 U7 W/ k! v4 _5 e
    {
    5 e  X  h. \4 H0 B% l1 T: o        double res;
    7 O+ X3 `" _" I; p/ Z+ A: k        int pkt;
    ' D9 i* E# ]8 j* M  O) J        static int done=0;9 [% I$ W4 w6 b3 N4 ]7 |
            if(!done)
    ( v* H3 n4 H8 i3 K6 ^        {1 A  E$ I: P( M6 W, x
                    //char* expression="cos(x)^5";
    6 G1 k6 y& c! q6 t                MLPutFunction(lp,"EvaluatrPacket",1);$ E  v9 J/ c' W7 G$ }: i3 V
                    MLPutFunction(lp,"ToExpression",1);
    ( m$ }3 f+ L, b: j5 s                MLPutString(lp,"cos(x)^5");8 B' S- v5 P1 d/ ]- M4 A
                 MLEndPacket(lp);' ^) n/ H8 h8 k; e: {+ W
                    while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);: Z5 u. |2 N) k2 Q6 `
                    MLNewPacket(lp);
    ' E1 p9 f( e+ Q' j. l$ q/ ?9 N                done=1;8 x" \/ |4 \) n) ?
            }
    ; x. [% n3 D- N; ?        MLPutFunction(lp,"EvaluatePacket",1);
    , E* N+ x! y: q        MLPutFunction(lp,"N",1);
    4 a3 ~' @  ]- R7 M& B6 W& O        MLPutFunction(lp,"F",1);
    1 q/ w" I" Z+ w3 ?# n7 E" h9 m        MLPutReal(lp,x);+ b  P9 M, \( y$ s, o' z
            MLEndPacket(lp);0 k! X8 a& g4 I2 n" J' h$ e0 _
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);
    6 ]' T8 O' R0 v! J5 h' |6 I1 U        MLNewPacket(lp);
    " P: ~6 K" y8 _1 \. o        MLGetReal(lp, &res);
    ' u8 E/ u7 N0 A  a. Q. I        return res;7 X% s) |6 c# L1 n9 C$ a$ c
    }6 @, i  i  Q; Z, f0 @
    0 b0 p9 m- T* g; v# h$ X* S
    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-14 06:08 , Processed in 0.905197 second(s), 63 queries .

    回顶部