| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4164 人关注过本帖, 1 人收藏
标题:抛体运动,C语言,请大神帮小弟一把
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用wengbin在2016-1-7 00:51:23的发言:

呃……有问题,初速度方向应该是向上的……睡吗,明天再说……

抛体可以是任意角度、任意初速度的!

授人以渔,不授人以鱼。
2016-01-07 03:19
zxq057
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2016-1-6
收藏
得分:0 
回复 8楼 TonyDeng
/*オイラー陽解法を用いて一時反応の濃度を計算するプログラム*/

#include <stdio.h>
#define T 10.0 /*計算領域 T=10.0の定義*/
#define ni 20 /*格子点公分割 niの定義*/

main()
{
    int i; /*格子点番号 整数型*/
    float t[ni + 1];/*時刻tの一次元配列*/
    float u[ni + 1];/*濃度uの一元元配列*/

    float dt = T / ni; /*時間間隔Δtの定義*/

    FILE *fp; /*ファイルポインタ*/

        printf("%f\n", dt);

        /* 時刻t[i]の計算 */
        for (i = 0; i <= ni; i++ ) {
            t[i] = i*dt;
        }

        /*濃度uの初期値設定*/
        u[0] = 1.0;

        /*濃度u[i]の繰り返し計算*/
        for (i = 1; i <= ni; i++) {
            u[i] = (1.0 - dt)*u[i - 1];
        }

        /*計算結果のファイル出力*/
        fopen_s(&fp, "./c41dt05.data", "w");

        for (i = 0; i <= ni; i++) {
            fprintf(fp, " %-6.3f %e\n", t[i], u[i]);
        }

        fclose(fp);
    return(0);
 这是我们老师讲的课题,除了日语,你能看懂么?
2016-01-07 04:35
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
回复 11楼 TonyDeng
T版,您晚上不睡觉?还是有时差
2016-01-07 09:13
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
回复 12楼 zxq057
for (i = 1; i <= ni; i++) {
            u[i] = (1.0 - dt)*u[i - 1];
        }

这一句我还没懂,这算的是什么?你贴错代码了吧,这好像是另一题的解法呀

[此贴子已经被作者于2016-1-7 09:17编辑过]

2016-01-07 09:14
demon90s
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:44
专家分:121
注 册:2016-1-3
收藏
得分:0 
回复 12楼 zxq057
就算是日语,你也应该知道这代码和题目没啥关系吧
2016-01-07 10:09
demon90s
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:44
专家分:121
注 册:2016-1-3
收藏
得分:0 
オイラー陽解法を用いて一時反応の濃度を計算するプログラム
油杯陽解法用一时反应浓度计算的程序

百度翻译
2016-01-07 10:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用wengbin在2016-1-7 09:13:33的发言:

T版,您晚上不睡觉?还是有时差

那是给你示范微元法,但不是匀变速运动。解法是一样的。

授人以渔,不授人以鱼。
2016-01-07 10:19
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
excel能做成轨迹和轨迹视频?还真没用过这种功能!
2016-01-07 10:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用ehszt在2016-1-7 10:28:41的发言:

excel能做成轨迹和轨迹视频?还真没用过这种功能!

可以的,就用描點、折缐那個東西。當然直接在C寫也可以。

授人以渔,不授人以鱼。
2016-01-07 10:31
demon90s
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:44
专家分:121
注 册:2016-1-3
收藏
得分:5 
我的代码:

#include <stdio.h>

#define g 9.8
#define dt 0.1
#define T 5.0

int main(void)
{
    double x = 0, y = 0;
    double vx = 20, vy = 20;
    double t;

    FILE *fp = fopen("13t7032kc46.data", "w");

    printf("time\tx\ty\n");
    fputs("time\tx\ty\n", fp);

    for (t = 0; t <= T; t += dt)
    {
        printf("%.2f\t%.2f\t%.2f\n", t, x, y);
        fprintf(fp, "%.2f\t%.2f\t%.2f\n", t, x, y);

        x += vx * dt;

        y += vy * dt;
        vy -= g * dt;
        if (y < 0) // 如果落到地面了,重置vy的初始速度(忽略阻力)
        {
            y = 0;
            vy = 20;
        }
    }

    fclose(fp);

    return 0;
}
2016-01-07 11:11
快速回复:抛体运动,C语言,请大神帮小弟一把
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028503 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved