Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Using matlab please find the transfer funcation of the expression of the state s

ID: 3349563 • Letter: U

Question

Using matlab please find the transfer funcation of the expression of the state stpace model at the end of this example

Example 2H Double effect evaporator Over a period of several years in the mid 1970s a group of chemical engineering faculty members and students at the University of Alberta developed a laboratory pilot plant which could be used to test various concepts and control system design techniques. The results of some of these studies have been published in a number of technical ournals and reprinted as a case study [9]. The pilot plant is a double-effect evaporator shown schematically in Fig. 2.20. According to Professors D. G. Fisher and D. E. Seborg, leaders of the project and authors of the case study: "The first eflect is a short-tube vertical calandria-type unit with natural circulation. The 9-in diameter unit has an operating holdup of 2 to 4 gallons, and its 32 stainless steel tubes, l-in o.d. by 18 in. lon feet of heat transfer surface altogether provide approximately 10 square

Explanation / Answer

#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
void arg(float *a,float *b,int *n,int x,int y)
{int k,l,i,j;
for(i=0,k=0;i<*n;i++,k++){
for(j=0,l=0;j<*n;j++,l++){
if(i==x)
i++;
if(j==y)
j++;
*(b+14*k+l)=*(a+14*i+j);}
}*n=*n-1;}
int det(float *p,int *n){
float d[14][14],sum=0;
int i,j,m;
m=*n;
if(*n==2)
return(*p**(p+15)-*(p+1)**(p+14));
for(i=0,j=0;j<m;j++){
*n=m;
arg(p,&d[0][0],n,i,j);
sum=sum+*(p+10*i+j)*pow(-1,(i+j))*det(&d[0][0],n);
}return(sum);
}int main()
{double
A,F,V0,T0,V1,L1,T1,lambda0,hF,h1,TF,U1,V2,L2,T2,lambda1,h2,U2,V3,L3,T3,lambda2,h3,U3,
lambda3,xF,xL3,delT,delT1,delT2,delT3,h4,U4,V4,L4,T4,lambda4,h5, U5,V5,L5,T5,lambda5,
h6,U7,V7,L7,T7, lambda7, h8,U8,V8,L8,T8, lambda8,h9,U9,V9,L9,T9,
lambda9,h10,U10,V10,L10,T10,lambda10,h11,U11,V11,L11,T11,lambda11,h12,U12,V12,L12,T12,
lambda12,h13,U13,V13,L13,T13,lambda13,h14,U14,V14,L14,T14,lambda14;
cout<<"enter the values of
A,T0,T3,TF,F,xF,xL3,V0"<<endl;cin>>A>>T0>>T3>>TF>>F>>xF>>xL3>>V0;
delT=(T0-T3)/3; delT1=delT2=delT3=delT; T1=T0-delT1; T2=T1-delT2;T3=T2-delT3;
T4=T3-delT4; T5=T4-delT5; T6=T5-delT6;T7=T6-delT7;T8=T7-delT8;T9=T8-
delT9;T10=T9-delT10; T11=T10-delT11; T12=T11-delT12; T13=T12-delT13; T14=T13-delT14;

d
u5=u5+v[9];
l5=l5+v[10];
u6=u6+v[11];
l6=l6+v[12];
a1=a1+v[13];
double Cp,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14;
cout<<"enter the value of Cp,U1,U2,U3,lambda0"<<endl;
cin>>Cp>>U1>>U2>>U3>>lambda0;
lambda1=lambda2=lambda3=lambda0;
cout<<"lambda1="<<lambda1;
float bb[14][14];
bb[0][1]=-(Cp*T0)/lambda0;
bb[1][1]=-(U1*a1*T0)/(50*lambda0);
bb[2][1]=(l1*Cp*T0)/lambda0;
bb[3][1]=(U2*a1*T0)/(50*lambda0);
bb[1][5]=(U1*(1-u1)*T0)/(50*lambda0);
bb[2][3]=-(l1*Cp*T0)/lambda0;
bb[3][3]=-(U2*a1*T0)/(50*lambda0);
bb[4][3]=(l2*Cp*T0)/lambda0;
bb[5][3]=(U3*a1*T0)/(50*lambda0);
bb[4][4]=((Cp*(u2-u3)*T0)-(lambda2+lambda3))/lambda0;
bb[5][5]=(U3*(u2-u3)*T0)/(50*lambda0);
bb[2][2]=((Cp*(u1-u2)*T0)-(lambda1+lambda2))/lambda0;
bb[3][5]=(U2*(u1-u2)*T0)/(50*lambda0);
bb[3][3]=-(U2*a1*T0)/(50*lambda0);
bb[6][6]=(l3*Cp*T0)/lambda0;
bb[5][7]=-(U3*a1*T0)/(50*lambda0);
bb[6][4]=-(l2*Cp*T0)/lambda0;
bb[6][5]=-(U3*(u2-u3)*T0)/(50*lambda0);
bb[7][6]=((Cp*(u3-u4)*T0)-(lambda3+lambda4))/lambda0;
bb[8][6]=-(l4*Cp*T0)/lambda0;
bb[8][8]=(l4*Cp*T0)/lambda0;
bb[7][8]=(U4*a1*T0)/(50*lambda0);
bb[8][9]=((Cp*(u4-u5)*T0)-(lambda4+lambda5))/lambda0;
bb[5][5]=(U3*(u2-u3)*T0)/(50*lambda0);
bb[2][2]=((Cp*(u1-u2)*T0)-(lambda1+lambda2))/lambda0;
bb[1][13]=(U1*(1-u1)*T0)/(50*lambda0);
bb[7][7]=-(U4*a1*T0)/(50*lambda0);
bb[10][12]=-(l4*Cp*T0)/lambda0
bb[11][11]=(U6*a1*T0)/(50*lambda0);
bb[12][12]=((Cp*(u6-u7)*T0)-(lambda2+lambda3))/lambda0;
bb[3][13]=(U2*(u1-u2)*T0)/(50*lambda0);
bb[12][14]=(l6*Cp*T0)/lambda0;
bb[12][12]=-(l6*Cp*T0)/lambda0;
bb[9][10]=-(U5*a1*T0)/(50*lambda0);
bb[4][4]=((Cp*(u2-u3)*T0)-(lambda2+lambda3))/lambda0;
bb[13][5]=(U3*(u2-u3)*T0)/(50*lambda0);
bb[13][7]=(U4*(u3-u4)*T0)/(50*lambda0);
bb[13][9]=(U5*(u4-u5)*T0)/(50*lambda0);
bb[13][11]=(U6*(u5-u6)*T0)/(50*lambda0);
bb[13][13]=(U7*(u6-u7)*T0)/(50*lambda0);
bb[2][2]=((Cp*(u1-u2)*T0)-(lambda1+lambda2))/lambda0;
bb[3][5]=(U2*(u1-u2)*T0)/(50*lambda0);
bb[0][2]=lambda1/lambda0;
bb[2][4]=lambda2/lambda0;
bb[3][2]=lambda1/lambda0;
bb[4][2]=lambda2/lambda0;
bb[5][4]=lambda2/lambda0;
bb[5][5]=-lambda2/lambda0;
bb[6][5]=lambda3/lambda0;
bb[7][5]=-lambda3/lambda0;
bb[8][7]=lambda4/lambda0;
bb[9][7]=-lambda4/lambda0;
bb[6][9]=lambda4/lambda0;
bb[9][9]=lambda4/lambda0;
bb[10][9]=lambda5/lambda0;
bb[11][9]=-lambda5/lambda0;
bb[8][10]=lambda5/lambda0;
bb[11][10]=lambda5/lambda0;
bb[12][10]=lambda6/lambda0;
bb[13][10]=-lambda6/lambda0;
bb[10][12]=lambda6/lambda0;
bb[13][12]=-lambda6/lambda0;
cout<<"bb[0][1]="<<bb[0][1]<<endl<<"bb[1][1]="<<bb[1][1]<<endl<<"bb[2][1]="<<bb[2][
1]<<endl<<"bb[3][1]
="<<bb[3][1]<<endl<<"bb[1][5]="<<bb[1][5]<<endl<<"bb[2][3]="<<bb[2][3]<<endl<<"bb[3][3]="<
<bb[3][3]<<endl<<"bb[4]
[3]="<<bb[4][3]<<endl<<"bb[5][3]="<<bb[5][3]<<endl<<"bb[4][4]="<<bb[4][4]<<endl<<"bb[5][5]
="<<bb[5][5]<<endl<<"bb
[2][2]="<<bb[2][2]<<endl<<"bb[3][5]="<<bb[3][5];
goto x;void arg(float *,float *, int *,int ,int );int det(float *,int *);int i,j,m,n;
float a[14][14],b[14][14],c[14][14],d;
printf("Enter the order of the matrix");scanf("%d",&n);printf("Enter the matrix");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
scanf("%f",&a[i][j]);}if(n==2){c[0][0]=a[1][1];
c[1][1]=a[0][0];
c[0][1]=-a[0][1];
c[1][0]=-a[1][0];
d=a[0][0]*a[1][1]-a[0][1]*a[1][0];
printf("Determinant is:%f ",d);
if(d==0){
getch();
exit(d-'0');}
for(i=0;i<n;i++)
{printf(" ");
for(j=0;j<n;j++)
printf(" %f",c[i][j]/d);
}}else
{m=n;for(i=0;i<m;i++){for(j=0;j<m;j++){n=m;
arg(&a[0][0],&b[0][0],&n,i,j);
c[j][i]=pow(-1,(i+j))*det(&b[0][0],&n);}}
n=m;
d=det(&a[0][0],&n);
printf("Determinant is :%f ",d);
if(d==0)
{
printf("INVERSE DOES NOT EXIST ");
cout<<"No more iterations possible"<<endl;
printf("Number of iterations is:%d ",ctr);
cout<<"The final values after iteration are:"<<endl;
cout<<"v0="<<v0<<endl<<"u1="<<u1<<endl<<"l1="<<l1<<endl<<"u2="<<u2<<endl<<"l2="<<l2<
<endl<<"a1="<<a1<<endl;
getch();
exit(d-'0');
}
for(i=0;i<m;i++)
{
printf(" ");
for(j=0;j<m;j++)
printf(" %f",c[i][j]/d);
}
}
hF=Cp*TF;
h1=Cp*T1;
h2=Cp*T2;
h3=Cp*T3;
h4=Cp*T4;h5=Cp*T5;h6=Cp*T6;h7=Cp*T7;
double g1,g2,g3,g4,g5,g6;
g1=f1/(F*lambda0);
g2=f2/(F*lambda0);
g3=f3/(F*lambda0);
g4=f4/(F*lambda0);
g5=f5/(F*lambda0);
g6=f6/(F*lambda0);
g7=f7/(F*lambda0);
g8=f8/(F*lambda0);
g9=f9/(F*lambda0);
g10=f10/(F*lambda0);
g12=f12/(F*lambda0);
g11=f11/(F*lambda0);
g13=f13/(F*lambda0);
g14=f14/(F*lambda0);
float u[10];
printf("Enter the order of the matrix");
scanf("%d",&n);
printf("Enter the matrix");
for(i=0;i<n;i++)
{scanf("%f",&u[i]);}
int k;
for(i=0;i<n;i++)
{ v[i]=0; for(k=0;k<n;k++)
{ v[i]=v[i]+(c[i][k]/d)*u[k]; } }
{for(i=0;i<n;i++){printf(" ");printf(" %f",v[i]);}
}
getch();
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote