资源描述
MatLab考试题题库(必做题)(带答案)
一,
1. 请登陆美国 MathWorks 公司的 (.mathworks.),查看看现在大概有多少本 MATLAB-based books (以 MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。哪一个领域的 MATLAB-based books 最多?中文书共有几本?
答:1612本,数学方面的最多,中文书共有37本。
2. 请在 MATLAB中直接输入下列常数,看它们的值是多少:
a. i
b. j
c. eps
d. inf
e. nan
f. pi
g. realmax
h. realmin
依次解为:ans = 0 + 1.0000i ans = 0 + 1.0000i ans =2.2204e-016 ans =Inf ans = NaN ans =3.1416 ans = 1.7977e+308 ans =2.2251e-308
3. 试写一函数 regPolygon(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆画出一个接正 n 边形,其中一顶点位于 (0, 1)。例如 regPolygon(8) 可以画出如下之正八边型:
解:新建regPolygon.m文件如下:
function y=regPolyfon(n)
n=8;%要画的n边形
R=1; %圆的半径
t=0:0.01:2*pi;
x=R*cos(t);
y=R*sin(t);
m=linspace(pi/2,5/2*pi,n+1);
xz=R*cos(m);
yz=R*sin(m);
hold on
plot(x,y,xz,yz);
axis 'equal';
4. 一条参数式的曲线可由下列方程式表示:
x = sin(t), y = 1 - cos(t) + t/10
当 t 由 0 变化到 4*pi 时,请写一个 MATLAB 的脚本 plotParam.m,画出此曲线在 XY 平面的轨迹。
解:新建plotParam.m:
t = linspace(0, 4*pi);
x = sin(t);
y = 1-cos(t)+t/10;
plot(x, y, '-o');
5. 当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。假设小圆轮的半径 r=2。
a. 当小圆轮绕着一个大圆(半径 R=5)的外部滚动时,请画此「圆轮摆线」或「外花瓣线」。
b. 重复上小题,但改成在大圆的部滚动,请画出此「花瓣线」。
提示:下图显示在不同的 R 和 r 值,所产生的圆轮摆线。
解:R=5;% 大圆半徑
r=2;% 小圆半徑
n=r/gcd(r, R);% 圈数
t=linspace(0, n*2*pi, 1000);
c=R*exp(i*t);
% 內花瓣线
c1=(R-r)*exp(i*t)+r*exp(i*(-R*t/r+t));
% 外花瓣线
c2=(R+r)*exp(i*t)+r*exp(i*(pi+R*t/r+t));
plot(real(c), imag(c), real(c1), imag(c1), real(c2), imag(c2));
axis image
title('內花瓣线(绿色)和外花瓣线(红色)');
6. 一个空间中的椭球可以表示成下列方程式:
(x/a)2+(y/b)2+(z/c)2 = 1
请使用任何你可以想到的方法,画出三维空间中的一个平滑的椭球,其中 a = 3,b = 4,c = 8。(但不能使用 ellipsoid 指令。)
解:x=-3:0.1:3;
y=-4:0.1:4;
[X,Y]=meshgrid(x,y);
Z1=sqrt(64-64*X.*X/9-16*Y.*Y);
surf(X,Y,z1);
hold on
Z2=-sqrt(64-64*X.*X/9-16*Y.*Y);
surf(X,Y,Z2);
7. 请用 ez 开头的绘图指令(例如 ezmesh、ezsurf、ezmeshc、ezsurfc、ezplot3、ezcontour 等),画出一个你认为最炫的立体图形。
Ezmesh:
8. 画出下列方程式的曲面图与等高线图:
z = sin(x/2)cos(y)
其中,x 的 21 个值均匀分布在 [-2*pi, 2*pi] 围,y 的 31 值均匀分布在 [-1.5*pi, 1.5*pi]。请使用 subplot(2,1,1) 和 subplot(2,1,2) 将产生的曲面图和等高线图在同一个窗口上,产生的图形应类似下图:
解:x = linspace(-2*pi, 2*pi, 21);
y = linspace(-1.5*pi, 1.5*pi, 31);
[xx, yy] = meshgrid(x, y);
zz = sin(xx/2).*cos(yy);
subplot(2,1,1)
surf(xx, yy, zz); axis image
subplot(2,1,2)
contour(xx, yy, zz); axis image
9.假设一曲线资料点为
x = 0:2:4*pi;
y = sin(x).*exp(-x/5);
试将 x 的间距调成 0.1,并用下列方法进行插:
a. 线性插法 (method='linear')。
b. Spline 插法 (method='spline')。
c. 三次多项式插法 (method='cubic')。
d. 多项式拟合法:直接利用 6 次多项式去通过 7 个资料点。
解:x = 0:2:4*pi;
y = sin(x).*exp(-x/5);
xx=0:0.1:4*pi;
yyb=interp1(x,y,xx,'linear');
yyc=interp1(x,y,xx,'spline');
yyd=interp1(x,y,xx,'cubic');
yye=polyval(polyfit(x,y,6),x);
plot(xx,yya,xx,yyb,xx,yyc,xx,yyd,xx,yyd,x,y,'r*');
legend('nearest','linear','spline','cubic','poly','source')
grid
title('2007***07**_*')
xlabel('x')
ylabel('y')
10.求下列函数的极小点:
1) ;
2) ;
3) .
第1),2)题的初始点可任意选取,
第3)题的初始点取为.
1)解:[x,feval]=fminunc((x)x(1)^2+4*x(2)^2+9*x(3)^2-2*x(1)-18*x(2),[3 1 2])
解得:x =
1.0000 2.2500 0.0000
feval =
-21.2500
2)解:[x,feval]=fminunc((x)x(1)^2+3/2*x(2)^2-2*x(1)*x(2)-x(1)+2*x(2),[1 2])
解得:x =
-0.5000 -1.0000
feval =
-0.7500
3)解:[x,feval]=fminunc((x)(x(1)-1)^4+x(2)^2,[0 1])
解得:x =
1.0045 -0.0000
feval =
4.0848e-010
二,
一.填空题(每空2分,共24分)
1. 设x是一维数组,x的倒数第3个元素表示为______x(_end-2_)________________;要在x的第36和37个元素之间插入一个元素154,使用的命令(集)为_____________x=x(_1:36,[154],37:end)_______________;设y为二维数组,要删除y的第34行和48列,可使用命令______y(34,:)=[];y(:,48)=[]_______________________;
2. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令__________save ____x_____________;将Excel文件data.xls读入WorkSpace并赋值给变量x,可使用命令________________x=xlsread('data.xls')____________________________;
3. 在while 表达式, 语句体, End 循环语句中,表达式的值__非零_____________时表示循环条件为真,语句体将被执行,否则跳出该循环语句;
4. 打开Matlab的一个程序文件fname.m,以添加的方式进行读写,应当使用命令_____fid= fopen('fname.m','w+');_______________________;
5.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令________x=input(‘Who is she?’,’s’)_________________________________;使用fprintf()函数以含有2位小数的6位浮点格式输出数值变量weight到文件wt.txt,使用的命令(集)为fid = fopen(‘wt.txt’,’’,_________________); fprintf ( _______ ) ;
4.设,和均为矩阵,且存在于WorkSpace中,要产生矩阵,可用命令___D=(A-C)/B.^C_________________________,计算可用命令___________det(inv(A’*B))_____________________________;
得分
二.简答题(每小题8分,共24分)
1. (1) 写出关系运算符中的等号、不等号、小于号、大于号、小于等于号和大于等于号;
(2) 写出逻辑操作中逻辑“与”、逻辑“或”与逻辑“非”的符号;
(3) 并用语句表达“如果a等于 b且c等于0就让d 等于3,否则如果a大于b且c=1让d等于 0,其余情况让d等于3”;
= = ~= < > <= >=
& | ~
if a==b&c==0
d=3
else if a>b&c= =1
d=0
else
d=3
end
2. 设和是两个10行10列的矩阵(数组),试说明命令A*B, A/B, A\B, A.*(B.^A), A./B, A.\B和sin(A).*exp(B)的涵义。
A,B的矩阵乘法,矩阵A乘以B的逆,矩阵B乘以A的逆,B的每个元素的对应A次幂乘以A对应的每个元素
A的每个元素除以B对应的每个元素,B的每个元素除以A对应的每个元素,
A的每个元素的正弦与B对应的每个元素的指数求积,
3. 设A为数组,B为一个行数大于3的数组,请给出
(1)删除A的第4、8、12三列的命令; (2)删除B的倒数第3行的命令;
(3)求符号极限的命令集; (4)求的3阶导数的命令集;(5)计算定积分的命令,并给出计算结果
(!)A(:,[4 8 12])=[]
(2)B(end-2)=[]
(3)syms m n x
limit(tan(m*x)/(n*x))
(4)syms x y
y=atan((x+3)/(x-2))-log(1+exp((-2)*x)
diff(y,3)
(5)syms x
int((abs(x)+sin(x))*x^2,-1,1)
-1/2
得分
三.基本编程题(每小题10分,共30分)
1. Write a program to compute the following expressions
;
Here, we suppose the variable x has existed in the workspace.
for i=1:10
for j=1:10
xbar(i)=xbar(i)+x(i,j);
end
xbar(i)=xbar(i)/10;
end
for i=1:10
for j=1:10
t1=0;t2=0;t3=0;
for k=1:3
t1=t1+(x(i,k)-xbar(i))*(x(j,k)-xbar(j));
t2=t2+(x(i,k)-xbar(i))^2;
t3=t3+(x(j,k)-xbar(j))^2;
end
r2(i,j)=t1/sqrt(t2*t3);
end
end
r2
2. (1) Using plot() function to plot the curves of
and
in the range of ,let their color are red and green respectively, and add the grid to the figure.
(2) Using fplot() function and ezplot() function to plot above-mentioned (上述的) curves respectively.
(1)x=-2*pi:pi/100:2*pi;
y=(sin(2*x)+cos(3*x)).*exp(-2*x);
z=sin(x)/x;
plot(x,y,’r’,x,z,’g’)
(2)fplot('[(sin(2*x)+cos(3*x)).*exp(-2*x), sin(x)/x]',[-2*pi 2*pi])
3. Plot the 3D mesh figure and 3D surface figure of the function
in the range of and , respectively.
x=-4:1/100:4;
y=-4:1/100:4;
z=9(1-x)^2*exp(-x’^2/2-(y’+1)^2)
mesh(x,y,z);
surf(x,y,z);
得分
四.综合编程题(每小题11分,共22分)
1. Write a function program to compute the following function
and call this function program to compute the value of in main program or command window, there, shows the factorial (阶乘) of .
提示:对x取整的函数有fix(x), floor(x), round(x) 和ceil(x) .
fuction y=f1(x) %f1.m
if x-fix(x)= =0
y=prod(1:abs(2*x));
else
y=4*sin(2*x)+x^1.8;
y=f1(-4)+f1(3)-f1(14.37)
2. Write a program to compute the sample mean
,
and the sample skewness (偏度)
.
for the following three case:
(1) n and exist in Workspace of Matlab. It is no any limit;
(2) n and are unknown variables. Please input x by keyboard one by one, and give a mark of end the data input. Examinees can use loop statement and length() function and input() function, but cannot use mean() function, std() function, and var() function directly (可以使用循环语句和length()函数、input()函数等进行编程,但不能直接使用mean()、std()和var()等函数).
(1)s=0;
for i=1:n
s=s+x(i);
end
xbar=s/n
m=0;
for i=1:n
m=m+(x(i)-xbar)^3;
end
ske=m/n
(2)x(1)=input('请输入x ');
i=1;s=0;
while(x(i)~='a')
s=s+x(i);
i=i+1;
x(i)=input('请输入x ,输’a’结束');
end
xbar=s/(i-1)
m=0;
for j=1:i-1
m=m+(x(i)-xbar)^3;
end
ske=m/(i-1)
三,
产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏)
答案:
a=10*rand(1,10)-5;
b=sort(a,'descend')
1.请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5]
2. 已知变量:A=’ilovematlab’;B=’matlab’, 请找出:
(A) B在A中的位置。
(B) 把B放在A后面,形成C=‘ilovematlabmatlab’
3. 请修改下面的程序,让他们没有for循环语句!
A=[1 2 3; 4 5 6; 7 8 9];
[r c]=size(A);
for i=1:1:r
for j=1:1:c
if (A(i,j)>8 | A(i,j)<2)
A(i,j)=0;
end
end
end
4. 请把变量A=[1 2 3; 4 5 6; 7 8 9]写到文件里(output.xls),写完后文件看起来是这样的
1 2 3 4 5 6 7 8 9
5.试从Yahoo上获得微软公司股票的2008年9月的每日收盘价。
6.编写M文件,从Yahoo批量读取60000.SH至600005.SH在2008年9月份的每日收盘价(提示:使用字符串函数)。
7. 将金牛股份(000937)2005年12月14日至2006年1月10日的交易记录保存到Excel中,编写程序将数据读入MATLAB中,进一步将数据读入Access数据库文件。
8.已知资产每日回报率为0.0025,标准差为0.0208,资产现在价值为0.8亿,求5%水平下资产的10天在险价值(Var)。
9.a=[1 2 3 4 5],b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).试用MATLAB中最简单的方法计算b,注意最简单哦。
1、求下列联立方程的解
3x+4y-7z-12w=4
5x-7y+4z+ 2w=-3
x +8z- 5w=9
-6x+5y-2z+10w=-8
求系数矩阵的秩;
求出方程组的解。
解:(1)
>> a=[3 4 -7 -12];
5 -7 4 2 ;
1 0 8 -5;
-6 5 -2 10];
c=[4; -3; 9;-8];
b=rank(a)
b = 4
(2)>> d=a\c
d = -1.4841, -0.6816, 0.5337,-1.2429
即: x=-1.4841;y= -0.6816;z= 0.5337;w=-1.2429
2、设 y=cos[0.5+((3sinx)/(1+x^2))] 把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线;
解:>> x=linspace(0,2*pi,101);
y=cos(0.5+3.*sin(x)./(1+x.*x));
plot(x,y)
3、设 f(x)=x^5-4x^4+3x^2-2x+6
(1)取x=[-2,8]之间函数的值(取100个点),画出曲线,看它有几个零点。
(提示:用polyval 函数)
解:>>p=[1 -4 3 -2 6];
x=linspace(-2,8,100);
y=polyval(p,x);
plot(x,y);
axis([-2,8, -200,2300]);
为了便于观察,在y=0处画直线,图如下所示:
与y=0直线交点有两个,有两个实根。
(2)用roots函数求此多项式的根
>> a=roots(p)
a = 3.0000 ,1.6956 , -0.3478 + 1.0289i , -0.3478 - 1.0289i
4、在[-10,10;-10,10]围画出函数 的三维图形。
解:>>[X,Y]=meshgrid(-10 : 0.5 :10);
a=sqrt(X.^2+Y.^2) +eps;
Z=sin(a)./a;
mesh(X,Y,Z);
matlab试卷,求答案
一、选择或填空(每空2分,共20分)
1、标点符号()可以使命令行不显示运算结果,()用来表示该行为注释行。
2、下列变量名中()是合法的。
(A) char_1 ; (B) x*y ; (C) x\y ; (D) end
3、为~,步长为的向量,使用命令()创建。
4、输入矩阵,使用全下标方式用()取出元素“ ”,使用单下标方式用()取出元素“ ”。
5、符号表达式中独立的符号变量为()。
6、M脚本文件和M函数文件的主要区别是()和(
)。
7、在循环结构中跳出循环,但继续下次循环的命令为()。
(A) return; (B) break ; (C) continue ; (D) keyboad
二、(本题12分)利用MATLAB数值运算,求解线性方程组(将程序保存为test02.m文件)
三、(本题20分)利用MATALAB符号运算完成(将程序保存为test03.m文件):
(1)创建符号函数
(2)求该符号函数对的微分;
(3)对趋向于求该符号函数的极限;
(4)求该符号函数在区间上对的定积分;
(5)求符号方程的解。
四、(本题20分)编写MATALAB程序,完成下列任务(将程序保存为test04.m文件):
(1)在区间上均匀地取20个点构成向量;
(2)分别计算函数与在向量处的函数值;
(3)在同一图形窗口绘制曲线与,要求曲线为黑色点画线,曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1 and y2”。
五、(本题15分)编写M函数文件,利用for循环或while循环完成计算函数的任务,并利用该函数计算时的和(将总程序保存为test05.m文件)。
六、(本题13分)已知求解线性规划模型:
的MATLAB命令为
x=linprog(c,A,b,Aeq,beq,VLB,VUB)
试编写MATLAB程序,求解如下线性规划问题(将程序保存为test06.m文件):
问题补充:
卷子的地址
看不见符号,能做就做了一些.
1、标点符号( ; )可以使命令行不显示运算结果,( % )用来表示该行为注释行。
2、下列变量名中( A )是合法的。
(A) char_1 ; (B) x*y ; (C) x\y ; (D) end
3、为~,步长为的向量,使用命令(本题题意不清)创建。
4、输入矩阵,使用全下标方式用(本题题意不清)取出元素“ ”,使用单下标方式用(本题题意不清)取出元素“ ”。
5、符号表达式中独立的符号变量为()。
6、M脚本文件和M函数文件的主要区别是(变量生存期和可见性)和(函数返回值)。
7、在循环结构中跳出循环,但继续下次循环的命令为( C )。
(A) return; (B) break ; (C) continue ; (D) keyboad
二、(本题12分)利用MATLAB数值运算,求解线性方程组(将程序保存为test02.m文件)
三、(本题20分)利用MATALAB符号运算完成(将程序保存为test03.m文件):
(1)创建符号函数 syms x
(2)求该符号函数对的微分;
(3)对趋向于求该符号函数的极限;
(4)求该符号函数在区间上对的定积分;
(5)求符号方程的解。
四、(本题20分)编写MATALAB程序,完成下列任务(将程序保存为test04.m文件):
(1)在区间上均匀地取20个点构成向量;
(2)分别计算函数与在向量处的函数值;
(3)在同一图形窗口绘制曲线与,要求曲线为黑色点画线,曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1 and y2”。
五、(本题15分)编写M函数文件,利用for循环或while循环完成计算函数的任务,并利用该函数计算时的和(将总程序保存为test05.m文件)。
六、(本题13分)已知求解线性规划模型:
的MATLAB命令为
x=linprog(c,A,b,Aeq,beq,VLB,VUB)
试编写MATLAB程序,求解如下线性规划问题(将程序保存为test06.m文件):
[例2.1] 已知SISO系统的状态空间表达式为(2-3)式,求系统的传递函数。
A=[0 1 0;0 0 1;-4 -3 -2];B=[1;3;-6];C=[1 0 0];D=0;
[num,den]=ss2tf(a,b,c,d,u)
[num,den]=ss2tf(A,B,C,D,1)
[例2.2] 从系统的传递函数(2-4)式求状态空间表达式。
num =[1 5 3];
den =[1 2 3 4];
[A,B,C,D]=tf2ss(num,den)
[例2.3] 对上述结果进行验证编程。
%将[例2.2]上述结果赋值给A、B、C、D阵;
A =[-2 -3 -4;1 0 0; 0 1 0];B =[1;0;0];C =[1 5 3];D=0;
[num,den]=ss2tf(A,B,C,D,1)
[例2.4]给定系统,求系统的零极点增益模型和状态空间模型,并求其单位脉冲响应与单位阶跃响应。
解:
num=[1 2 1 3];den=[1 0.5 2 1];
sys=tf(num,den) %系统的传递函数模型
Transfer function:
s^3 + 2 s^2 + s + 3
-----------------------------
s^3 + 0.5 s^2 + 2 s + 1
sys1=tf2zp(num,den) %系统的零极点增益模型 sys1 =
sys2=tf2ss(sys) %系统的状态空间模型模型;或用[a,b,c,d]=tf2ss(num,den)形式
impulse(sys2) %系统的单位脉冲响应
step(sys2) %系统的单位阶跃响应
[例3.1] 对下面系统进行可控性、可观性分析。
解:
a=[-1 -2 2;0 -1 1;1 0 -1];b=[2 0 1]';c=[1 2 0]
Qc=ctrb(a,b)%生成能控性判别矩阵
rank(Qc)%求矩阵Qc的秩
ans = 3%满秩,故系统能控
Qo=obsv(a,c)%生成能观测性判别矩阵
rank(Qo) %求矩阵Qo的秩
ans = 3%满秩,故系统能观测
[例3.2] 已知系统状态空间方程描述如下:
试判定其稳定性,并绘制出时间响应曲线来验证上述判断。
解:
A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0];
B=[1;0;0;0];C=[1 7 24 24];D=[0];
[z,p,k]=ss2zp(A,B,C,D,1);
Flagz=0;
n=length(A);
for i=1:n
if real(p(i))>0
Flagz=1;
end
end
disp('系统的零极点模型为');z,p,k
系统的零极点模型为
if Flagz==1
disp('系统不稳定');
else disp('系统是稳定的');
end
运行结果为:
系统是稳定的
step(A,B,C,D) %系统的阶跃响应
资源与环境工程学院2008级硕士研究生《MatLab与其应用》试题
注意,每题的格式均须包含3个部分
a. 程序(含程序名与完整程序):
b. 运行过程:
c. 运行结果:
(1)求解线性规划问题:
问各xi分别取何值时,Z有何极小值。(10分)
答:fprintf('线性规划问题求解 \n');
f = [-4;1;7];
A = [3,-1,1;1,1,-4;];
b = [4,-7]';
Aeq = [1,1,-1];
beq = [5]';
lb = [0,0,];
ub = [];
x = linprog(f,A,b,Aeq,beq,lb,ub);
x
z = f' * x;
fprintf('MIN z = %f \n' , z);
运行结果:线性规划问题求解
Optimization terminated successfully.
x =
2.2500
6.7500
4.0000
MIN z = 25.750000
(2)编写一个函数,使其能够产生如下的分段函数:,
并调用此函数,绘制。(10分)
答:function y=f(x)
if x<=2
y=0.5*x;
else if x>6
y=0.5;
else y =1.5-0.25*x;
end
end
运行结果 x=2
f(x)=1
x = 0:0.05:2;
y = diag(A2(x)'*A2(x+2));
plot(x,y);
xlabel('\bfx');
ylabel('\bfy');
29 / 29
(3) 将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。(10分)
①(曲线图);②(曲面图)。
答:>> subplot(2,2,2)
>> ezplot('(cos(x))^(1/2)',[-pi/2 pi/2])
>> ylabel('y')
>>subplot(2,2,3)
>> x=-2:0.5:2;
>> y=-4:1:4;
>>ezsurfc('x^2/2^2+y^2/4^2')
(4) A 是一个維度m×n的矩阵. 写一段程序, 算出A中有多少个零元素(10分)
答:>> A= input ('请输入一个矩阵')
[m,n]= size(A);
sig=0;
for i=1:m
for j=1:n
if A(i,j)==0
sig = sig+1;
end
end
end
请输入一个矩阵[0 1 2;1 0 2; 0 0 0]
A =
0 1 2
1 0 2
0 0 0
>> sig
sig =
5
(5) 向量. 写一段程序, 找出A中的最小元素(10分)
答:A= input ('请输入一个向量')
[m,n]=sizeA
min =A(1,n);
for i=1:n
if A(1,i)<min
min=A(1,i)
end
end
请输入一个向量[1 2 3 -5 2 0]
A =
1 2 3 -5 2 0
min =
-5
B.应用题(50分)
根据专业方向特色和相关科研工作需求,经过与导师商量后,结合一个课题具体任务,编写一份Matlab应用工作报告。报告由:a课题任务要求,b技术路线,c程序,d运行结果,e总结、等部分构成,完成的报告经导师给出简单评语并签字后缴来。
a,课题任务:研究了一种生物质,油菜秸秆对水溶液中金属离子铜的吸附行为,分别从pH,用量,温度几个方面考察秸秆的吸附性,并对分析的最佳条件进行了探讨。同时从吸附热力学和吸附动力学角度探讨吸附机理。结果表明,100ml溶液pH=5.30,秸秆用量0.75g时,秸秆对铜的吸附量可达到6mg/g左右。
b,技术路线:通过实验,获得一系列的数据,然后通过Matlab来做各种关系图。从图中找到g各种关系式。
c,程序:x=[2.20 2.72 3.44 4.13 5.38]
y=[2.39 3.83 6.07 6.39 6.84]
plot(x,y);
xlabel('pH');
ylabel('吸附量')
图1
x=[0.5 0.75 1.0 1.25 1.5 ]
y=[6.05 6.19 5.33 4.69 4.02]
plot(x,y);
xlabel('秸秆用量g');
ylabel('吸附量')
图2
通过数据图,得到比较理想的实验条件pH和秸秆用量,接下来做动力学和等温线。
> x=[0.167 0.5 1 2 3 4 5 8 ]
y=[0.033201 0.086059 0.169779 0.322061 0.480769 0.644122 0.809061 1.269841]
plot(x,y);
xlabel('时间t');
ylabel('时间/吸附量')
图3
x=[0.2363 0.15496 0.13619 0.12906 0.13373 0.13315]
y=[0.2
展开阅读全文