找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1439|回复: 4
打印 上一主题 下一主题
收起左侧

这个程序在keil中一直有错,哪位大神可以帮我改好啊,小弟不胜感激

[复制链接]
跳转到指定楼层
楼主
ID:217035 发表于 2017-7-5 16:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
// ControlFunc1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
using namespace std;

void ControlFunc(double d, double& U, double &dt)
{
        //d为输入的位移
        //U为输出的电压
        //dt为输出的时间间隔
        dt = 0.02;//输出结果:时间间隔
        double dy = 0.03;//控制参数:屈服变形
        double du = 0.06;//控制参数:极限变形
        double d0 = 0.0; //前一步位移,初始时为零
        double Umax = 5.0;//最大电压
        double Umin = 0.0;//最小电压

        double vel;     // 中间变量,速度
        vel = (d - d0) / dt;

        if (d <= -du)                  //状态1:禁止区域(-)
        {
                U = Umin;
                if (vel < 0)
                        U = Umax;
        }
        else if (d > -du && d <= -dy)  //状态2:控制区域(-)
        {
                U = Umin;
                if (vel < 0)
                        U = (-d - dy) / (du - dy)*Umax + (du + d) / (du - dy)*Umin;
        }
        else if (d > -dy && d < dy)   //状态3:自由区域(-)状态4:自由区域(+)
        {
                U = Umin;
        }
        else if (d >= dy && d < du)    //状态5:控制区域(+)
        {
                U = Umin;
                if (vel >= 0)
                        U = (d - dy) / (du - dy)*Umax + (du - d) / (du - dy)*Umin;
        }
        else if (d >= du)               //状态6:禁止区域(+)
        {
                U = Umin;
                if (vel >= 0)
                        U = Umax;
        }
        d0 = d;
}


int _tmain(int argc, _TCHAR* argv[])
{
        double d=0.0,U=0.0,dt=0.0;
        for (int i = 0; i < 10; i++)
        {
                d = 0.01*i;
                ControlFunc(d, U, dt);
                cout << "第" << i << "步计算结果: 控制电压U= " << U << "    时间间隔dt=" << dt << endl;
               
        }
        cin >> d;
        return 0;
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:97438 发表于 2017-7-6 10:19 | 只看该作者
兄弟,你这c++的程序放到keil里编译肯定有错啊。。。谁都改不了。。。
回复

使用道具 举报

板凳
ID:217035 发表于 2017-7-6 15:19 | 只看该作者
帮忙改成C语言啊
回复

使用道具 举报

地板
ID:217351 发表于 2017-7-6 20:19 | 只看该作者
改不了,没办法输出,说到底编译的软件都不一样
回复

使用道具 举报

5#
ID:137736 发表于 2017-7-6 23:16 | 只看该作者
要安装C语言IDE
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表