
#include <stdioh>
#define MAX 30
typedef struct
{
float MT; //数学
float EN;//英语
float PH;//物理
float SUM;//总分
float AVE;//平均分
int NUM;//编号
}Student;
void Input(Student s[],int len)
{
int i=0;
if(len<0)return;
for (i=0;i<len;i++)
{
printf("请依次输入学生编号为%d的数学,英语,物理分数(以,分开)\n",i+1);
s[i]NUM=i+1;
scanf("%f,%f,%f",&s[i]MT,&s[i]EN,&s[i]PH);
if (s[i]PH<0 )
{
printf("物理分数输入有误!请重新输入");
scanf("%f",&s[i]PH);
}
if (s[i]EN<0 )
{
printf("英语分数输入有误!请重新输入");
scanf("%f",&s[i]EN);
}
if (s[i]MT<0 )
{
printf("数学分数输入有误!请重新输入");
scanf("%f",&s[i]MT);
}
s[i]SUM =s[i]MT +s[i]EN +s[i]PH;
s[i]AVE =s[i]SUM/3;
}
}
void Output(Student s[],int len)
{
int i;
if(len<0)return;
printf("---------------------------------------------\n");
printf("| 编号| 数学| 英语| 物理| 总分| 平均分|\n");
for (i=0;i<len;i++)
{
printf("| %4d| %41f| %41f| %41f| %41f| %41f\n",
s[i]NUM,s[i]MT,s[i]EN,s[i]PH,s[i]SUM,s[i]AVE);
}
printf("----------------------------------------------\n");
}
void Sort(Student s[],int len)
{
int i,j;
if(len<0)return;
for (i=0;i<len;i++)
{
for (j=0;j<=i && j+1<len;j++)
{
if (s[j]SUM < s[j+1]SUM)
{
Student tmp;
tmp = s[j];
s[j] = s[j+1];
s[j+1] = tmp;
}
}
}
}
void main()
{
int len;
Student s[MAX]={-1};
printf("请输入人数:");
scanf("%d",&len);
len = len>=MAX MAX:len;
Input(s,len);
Output(s,len);
Sort(s,len);
Output(s,len);
}
大哥,你太猛了,PH=2你就进
水解酸化
了啊?
生物能
受得了啊?产酸菌一般在7左右会效果好些,而且污水经过水解酸化后,PH会进一步下降,太低了得话,进入好氧段好氧也受不了啊,所以尽量把PH控制在7多点比较好,生化一般的PH都需要控制在6~9的范围,必须调节PH。
这个是无法仿真的
首先PH值的控制需要加酸和加碱
这样就需要两个PID回路的
两个回路包括:PH变送器、控制阀等
模拟量本身就是不好仿真的
如果用最简单的位式控制,往往是达不到要求的
而且这种控制,如果回路数量没超过32路的话
S7-300系列的足够了
使用模拟量表示。
对于PLC而言,每一个模拟量都有一个固定的地址,这个地址是可以在程序中进行识别并计算的。模拟量是指变量在一定范围连续变化的量,也就是在一定范围(定义域)内可以取任意值(在值域内)。
模拟量的使用是plc控制中的一部分,模拟量种类一般有电压型和电流型两种。电流型相比于电压型更稳定,抗干扰能力较强。模拟量的使用也是有分辨率的。一般有12bit和14bit两种分辨率。
改成这样,程序通了,结果不一定对,调用函数要用function
function haha
clear all
clc
%Ka=input('please input Ka= ');
%Kw=110^-14;
% Open a file
%outfile='results/out_pHdat';
%outf=fopen(outfile,'w+');
n=100;
pH=zeros(1,n)
% Calculating (using a loop you can save this loop and calculate much faster using matrix)
for startCi=0:001:1;
[x1, pH1, x2, pH2]=newton_Convergence(startCi)
pH =-log10(x1);
%fprintf(outf,'%84f\n',ph(i));
end
% Close the file
%fclose(outf);
% Drawing
figure,plot([000:001:100],pH,'-')
title('pH to C ')
xlabel('C'), ylabel('PH')
%{
disp(['the answer is:x1 = '], [num2str(x1, '%7f\n')])
disp(['the answer is:pH1= '], [num2str(pH1,'%7f\n')])
disp(['the answer is:x2 = '], [num2str(x2, '%7f\n')])
disp(['the answer is:pH2= '], [num2str(pH2,'%7f\n')])
%}
% Newton Convergence 牛顿计算部分
function [x1, pH1, x2, pH2]=newton_Convergence(C)
Ka3=10^-12350;
Ka2=10^-7199;
Ka1=10^- 21480;
Kw=110^-14;
x0=53;
eer=002;
for i=1:1:100
if abs(eer)>0001
x1=x0-(x0^5+Ka1x0^4+(Ka1Ka2-CKa1-Kw)x0^3+(Ka1Ka2Ka3-2CKa1Ka2-Ka1Kw)x0^2-(3CKa1Ka2Ka3+Ka1Ka2Kw)x0-Ka1Ka2Ka3Kw)/(5x0^4+4Ka1x0^3+3(Ka1Ka2-CKa1-Kw)x0^2+2(Ka1Ka2Ka3-2CKa1Ka2-Ka1Kw)x0+3CKa1Ka2Ka3+Ka1Ka2Kw);
x0=x1;
end
pH1=-log10(x1);
end
for i=1:1:100
if abs(eer)>0001
x2=(-Ka1+sqrt(Ka1^2+4CKa1))/2
end
pH2=-log10(x2);
end
就大小来看,都是捆绑软件或者是其他软件要用到的一部分软件组合,应为某些软件要用到,你卸载之后你一启动那个软件,他就会驱动这样的组件软件的下载。没病毒的话没事。你可以在任务管理器中找到他们,看看他们是属于哪个软件的,如果直接辨别不出来,就在这个ph程序上右键,找到打开文件所在位置,就能找到它了。
以上就是关于C语言程序问题,求教全部的内容,包括:C语言程序问题,求教、我处理乳化液废水,PH=2进入水解酸化池,PH需不需要调节、用STEP7仿真西门子S7-400PLC控制发酵罐的PH值控制过程,现在急需要仿真LAD程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)