QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3294|回复: 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 ^+ p' _  Z- l0 o9 c0 u6 B
    #include "stdafx.h"4 P6 v* h+ N1 h6 x$ M: @+ ^, l4 F

    % U/ P; T8 d1 e5 H#include <stdio.h>  W) j- U- z6 ~. L; i# I
    #include <stdlib.h>
    2 C1 u' o# U3 y' m. X7 t#include <string.h>
    1 @5 L1 w- f1 J0 N. I' r4 _- B9 l  I& y& E8 i
    #include "mathlink.h"
    * Q' U2 ~; O. y9 i; J. [  S& U3 O
    ( r* S- n1 i1 D/ r. c% r2 r! edouble f(MLINK lp,double x);6 x1 d( n  f3 R" M# R

    & P  f( P. H9 q# Tint main()
    ! e) U3 t/ W% b: N{
    2 f$ G/ A, Z7 H+ K, e+ n        int argc=4;
    , s4 U/ W( w/ }8 e! q4 {, `: X/ x        char*argv[5] ={"-linkname", "F:\\Program Files\\Wolfram Research\\Mathematica\\8.0", "-linkmode", "launch", "NULL"};//指定连接方式
    0 y3 T. |: G( ?" p; t        MLEnvironment env;//mathlink的环境变量
    5 a1 L6 n4 j4 ]1 y& q1 V7 ]        MLINK lp;
    2 O  Z6 u/ o* a2 d& K# V* c! X        env=MLInitialize(NULL);//初始化" Q. x* \" A4 _7 U: e7 ?
            if(env==NULL)* j# W4 |  x8 G; E
            {
    * F2 S; z7 ^" X9 u! ?! V+ R                printf("initialization error!\n");
    $ W5 v: S5 O, m                return 1;% t8 a9 ]1 x3 G+ e/ R
            }
    6 t( E+ @+ K2 v        lp=MLOpen(argc, argv);
    4 q# N% y$ g8 K# L9 [9 Y4 A' r5 O        if(lp==NULL)
    # k4 A2 Y8 X) Q' j2 g! ^8 f0 N$ H        {
      V5 G* p8 q  q2 H                printf("open error!\n");5 W& A8 `6 N) f# r, H. h! x
                    return 1;
    ( g  C1 W2 M, Q* s7 b" x        }
    & _' `  B5 S, w$ F, S        for(int i=1;i<=10;i++)
    5 s1 p) `5 H- {. n9 N2 H                printf("cos(%d)=  %lf\n",i,f(lp,i));//计算f(1)至f(10)$ c, c/ ~. ^8 e" z* R/ m+ t
    . x% |* o1 O( r5 v3 }1 k
            MLClose(lp);+ X: Z' H9 o4 r0 b+ \* X
            MLDeinitialize(env);# s% G2 n' B5 q

    ( }! J" Y0 t  O) D/ z5 B# I        //printf("Hello World!\n");
    ) u3 [2 x: i: I; ~* p7 a        return 0;
    8 S, F2 r' l/ s}6 M. F& `7 b4 K0 J  F

    ( \& a; y( n9 F5 _& ^0 J# q5 k" |, R3 V7 V1 Q  m0 b9 I
    double f(MLINK lp, double x)
    3 a0 E. q7 P9 d" P# d) k{
    ; I- |* h; q4 C8 T/ Q  c        double res;
    . X. A( h# a; @        int pkt;
    5 \# ?5 g, j* h$ z+ [1 r* E9 B        static int done=0;' \% B0 L  N9 [5 E0 `! c$ G5 S* H
            if(!done)
    - q' B: h6 H" v$ H  X        {- U% C2 r) P1 H+ |
                    //char* expression="cos(x)^5";1 x3 m; t$ p6 \4 D$ u; [
                    MLPutFunction(lp,"EvaluatrPacket",1);' S: o  k+ K; D9 H6 m3 I
                    MLPutFunction(lp,"ToExpression",1);
    * @1 I6 a! I4 s3 a. u+ x6 G                MLPutString(lp,"cos(x)^5");- n! l1 O+ p7 V2 Z8 h
                 MLEndPacket(lp);' `, g8 K5 ^: `; v! A
                    while((pkt=MLNextPacket(lp),pkt)&&pkt!=RETURNPKT);" {! Z% w1 {2 @$ e# N  y. u3 s/ N3 U
                    MLNewPacket(lp);/ e6 {$ i0 Q9 [) k- h9 _* S% b
                    done=1;7 o# m9 N: J1 B! g
            }5 g  k4 w4 |& A) ?6 N7 y
            MLPutFunction(lp,"EvaluatePacket",1);+ F& p5 v/ L6 G# V7 y
            MLPutFunction(lp,"N",1);
      ^' i. }$ [' w& ^        MLPutFunction(lp,"F",1);
    2 E$ U) g! h: W9 ?% B: q        MLPutReal(lp,x);; h, g1 F$ N3 a+ a
            MLEndPacket(lp);% ?# u; b& F7 ~0 w7 J' m3 u
            while((pkt=MLNextPacket(lp))&&pkt!=RETURNPKT);" R. m  J# q% y/ Z  z
            MLNewPacket(lp);
    + V! T; f/ t; o+ @- x7 W; i( W        MLGetReal(lp, &res);
    ; h: g) B# ?$ z0 C! J        return res;
    8 m& ~8 `; j! f% G}
      J, {$ H; r/ V) g) o8 f, O$ D8 F' D8 ]- }% @
    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 18:05 , Processed in 0.433925 second(s), 64 queries .

    回顶部