《MATLAB在科学计算中的应用:第2章 MATLAB 语言程序设计基础》由会员分享,可在线阅读,更多相关《MATLAB在科学计算中的应用:第2章 MATLAB 语言程序设计基础(72页珍藏版)》请在人人文库网上搜索。

1、第二章 MATLAB 语言程序设计基础,MATLAB 语言的简洁高效性 MATLAB 语言的科学运算功能 MATLAB 语言的绘图功能 MATLAB 庞大的工具箱与模块集 MATLAB 强大的动态系统仿真功能,MATLAB 语言是当前国际上自动控制领域的首选计算机语言,也是很多理工科专业最适合的计算机数学语言。通过学习可更深入理解和掌握数学问题的求解思想,提高求解数学问题的能力,为今后其他专业课程的学习提供帮助,本章主要内容,MATLAB 程序设计语言基础 基本数学运算 MATLAB语言流程控制 MATLAB 函数的编写 二维图形绘制 三维图形绘制,2.1 MATLAB 程序设计语言基础,MA。

2、TLAB 语言的变量命名规则是: (1)变量名必须是不含空格的单个词; (2)变量名区分大小写; (3)变量名最多不超过19个字符; (4)变量名必须以字母打头,之后可以是 任意字母、数字或下划线,变量名中 不允许使用标点符号,MATLAB 的保留常量,数学运算符号及标点符号,1)MATLAB的每条命令后,若为逗号或无标点符号, 则显示命令的结果;若命令后为分号,则禁止显示结果. (2)“%” 后面所有文字为注释. (3) “.”表示续行,双精度数值变量 IEEE标准,64位 (占8字节),11指数位,53数值位和一个符号位 double( ) 函数的转换 其他数据类型 uint8,无符号8位。

3、整形数据类型,值域为0至255,常用于图像表示和处理。(节省存储空间,提高处理速度) int8( ), int16( ), int32( ),uint16( ), uint32(,数值型数据结构,符号型,sym(A), 常用于公式推导、解析解解法 符号变量声明 syms var_list var_props 例:syms a b real syms c positive 符号型数值可采用变精度函数求值 vpa(A), 或 vap(A,n) vpa(pi) ans = 3.1415926535897932384626433832795 vpa(pi,60) ans = 3.14159265358。

4、979323846264338327950288419716939937510582097494,符号型变量数据类型,字符串型数据:用单引号括起来 。 多维数组:是矩阵的直接扩展,多个下标。 单元数组:将不同类型数据集成到一个变量名下面,用表示;例:用Ai,j可表示单元数组A的第i行,第j列的内容。 类与对象:允许用户自己编写包含各种复杂详细的变量,可以定义传递函数,MATLAB支持的其他数据结构,直接赋值语句 赋值变量赋值表达式 例: a=pi2 a = 9.8696 例:表示矩阵 B=1+9i,2+8i,3+7j;4+6j 5+5i,6+4i;7+3i,8+2j 1i B = 1.0000。

5、 + 9.0000i 2.0000 + 8.0000i 3.0000 + 7.0000i 4.0000 + 6.0000i 5.0000 + 5.0000i 6.0000 + 4.0000i 7.0000 + 3.0000i 8.0000 + 2.0000i 0 + 1.0000i,MATLAB 的基本语句结构,函数调用语句 返回变量列表函数名(输入变量列表) 例:a,b,c=my_fun(d,e,f,c) 冒号表达式 v=s1:s2:s3 该函数生成一个行向量v,其中s1是起始值, s2是步长(若省略步长为1), s3是最大值。 例:用不同的步距生成 (0,p) 间向量。 v1=0:0.2:。

6、pi v1 = Columns 1 through 9 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 Columns 10 through 16 1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000,v2=0:-0.1:pi %步距为负,不能生成向量,得出空矩阵 v2 = Empty matrix: 1-by-0 v3=0:pi v3 = 0 1 2 3 v4=pi:-1:0 逆序排列构成新向量 v4 = 3.1416 2.1416 1.1416 0.1416 v5=0:0.4:p。

7、i,pi v5 = 0 0.4000 0.8000 1.2000 1.6000 2.0000 2.4000 2.8000 3.1416,基本语句格式 B=A(v1,v2) v1、 v2分别表示提取行(列)号构成的向量。 例: A=1,2,3,4;3,4,5,6;5,6,7,8;7,8,9,0 A = 1 2 3 4 3 4 5 6 5 6 7 8 7 8 9 0 B1=A(1:2:end,:) 提取全部奇数行、所有列。 B1 = 1 2 3 4 5 6 7 8,子矩阵提取,B2=A(3,2,1,2,3,4) 提取3,2,1行、2,3,4列构成子矩阵。 A = B2 = 1 2 3 4 6 7 。

8、8 3 4 5 6 4 5 6 5 6 7 8 2 3 4 7 8 9 0 B3=A(:,end:-1:1) 将A矩阵左右翻转,即最后一列排在最前面。 B3 = 4 3 2 1 6 5 4 3 8 7 6 5 0 9 8 7,矩阵表示 矩阵转置 数学表示 (若A有复数元素,先转置再取各元素共轭复数值,Hermit转置) MATLAB 求解 BA. C=A,2.2 基本数学运算,矩阵的代数运算,矩阵加减法 C=A+B D=A-B 注意维数是否相等 注意其一为标量的情形 矩阵乘法 数学表示 MATLAB 表示 C=A*B 注意相容性,矩阵除法 矩阵左除:AX = B,求 X MATLAB 求解:X。

9、=AB 若A为非奇异方阵,则 X=A-1B 最小二乘解(若A不是方阵) 矩阵右除:XA = B,求 X MATLAB求解:X=B/A 若A为非奇异方阵,则 X=BA-1 最小二乘解(若A不是方阵,矩阵翻转 左右翻转 B=fliplr(A) 上下翻转 C=flipud(A) 旋转 90o (逆时针) D=rot90(A) 如何旋转180o? D=rot180(A) ? Undefined function or variable rot180. D=rot90(rot90(A) 矩阵乘方 A 为方阵,求 MATLAB 实现: F=Ax,点运算-矩阵对应元素的直接运算 数学表示 : MATLAB 。

10、实现: C=A.*B 例: A=1,2,3;4,5,6;7,8,0; B=A.A B = 1 4 27 256 3125 46656 823543 16777216 1 C=A.*A C = 1 4 9 16 25 36 49 64 0,逻辑变量: 当前版本有逻辑变量 对 double 变量来说,非 0 表示逻辑 1 逻辑运算(相应元素间的运算) 与运算 Ai,j 显示行标,列标 ans = 3 1 2 2 3 2 2 3 all(A=5) 某列元素全大于或等于5时,相应元素为1,否则为0。 ans = 0 0 0 any(A=5) 某列元素中含有大于或等于5时,相应元素为1,否则为0。 an。

11、s = 1 1 1,解析结果的化简与变换,MATLAB 实现: s1=simple(s) 从各种方法中自动选择最简格式 s1,how=simple(s) 化简并返回实际采用的化简方法 其中,s为原始表达式,s1为化简后表达式,how为采用的化简方法。 其他常用化简函数(信息与格式可用 help命令得出) collect( ) 合并同类项 expand( ) 展开多项式 factor( ) 因式分解 numden( ) 提取多项式的分子和分母 sincos( ) 三角函数的化简,例: syms s; P=(s+3)2*(s2+3*s+2)*(s3+12*s2+48*s+64) ; P = (s+。

12、3)2*(s2+3*s+2)*(s3+12*s2+48*s+64) simple(P) % 一系列化简尝试,得出计算机认为的最简形式 ans = (s+3)2*(s+2)*(s+1)*(s+4)3,a,m=simple(P) % 返回化简方法为因式分解方法,用 factor( ) 函数将得同样结果 a = (s+3)2*(s+2)*(s+1)*(s+4)3 m = factor expand(P) ans = s7+21*s6+185*s5+883*s4+2454*s3+3944*s2+3360*s+1152,变量替换 其中,f为原表达式,用x*替换x得出新的。 例:求其 Taylor 幂级数。

13、展开 syms a b c d t; % 假设这些变量均为符号变量 f=cos(a*t+b)+sin(c*t)*sin(d*t); % 定义给定函数 f(t) f1=subs(f,a,b,c,d,t,0.5*pi,pi,0.25*pi,0.125*pi,4) f1 = -1.0000,基本数论运算 下取整、上取整、四舍五入、离0近方向取整、最简有理数、求模的余数、最大公约数、最小公倍数、质因数分解、判定是否为质数,例:对下面的数据进行取整运算 -0.2765,0.5772,1.4597,2.1091,1.191,-1.6187 A=-0.2765,0.5772,1.4597,2.1091,1.。

14、191,-1.6187; floor(A) % 向 -inf 方向取整 ans = -1 0 1 2 1 -2 ceil(A) % 向 +inf 方向取整 ans = 0 1 2 3 2 -1 round(A) %取最近的整数 ans = 0 1 1 2 1 -2 fix(A) %向 0 的方向取整 ans = 0 0 1 2 1 -1,例:3x3 Hilbert 矩阵,试用 rat() 函数变换 A=hilb(3); n,d=rat(A) 将元素变换成最小有理数,n,d分别为分子、分母矩阵。 n = 1 1 1 1 1 1 1 1 1 d = 1 2 3 2 3 4 3 4 5,例:1856。

15、120,1483720,最大公约数、最小公倍数,质因数分解。 format long m=1856120; n=1483720; gcd(m,n), lcm(m,n) 求m,n的最大公约数、最小公倍数。 ans = 1.0e+009 * 0.00000196000000 1.40508284000000 factor(lcm(n,m) 对lcm(n,m)进行质因数分解。 ans = 2 2 2 5 7 7 757 947,例:1-100间质数 A=1:10; isprime(A) 若向量A中某个整数值为质数,则相应位置为1,其他为零。 ans = 0 1 1 0 1 0 1 0 0 0 A=1。

16、:100; B=A(isprime(A) B = Columns 1 through 16 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 Columns 17 through 25 59 61 67 71 73 79 83 89 97 rem(A,C) %A中元素对C中元素求模得出的余数,循环结构 for 结构 while 结构,2.3 MATLAB 语言流程控制,例:用循环求解 s=0;for i=1:100 s=s+i;end s=0; i=1;while (i sum(1:100) ans = 5050 例:用循环求解求最小的 m s=0; m=。

17、0; while (s=10000), m=m+1; s=s+m; end, s,m % 求出的 m 即是所求 ans = 10011 141,例:求 tic, s=0; for i=1:100000, s=s+1/2i+1/3i; end; toc elapsed_time = 1.1820 tic, i=1:100000; s=sum(1./2.i+1./3.i); toc 向量化所需时间少 elapsed_time = 0.3010 i=1:10;s=1./2.i+1./3.i, ss=sum(1./2.i+1./3.i) s = 0.8333 0.3611 0.1620 0.0748 。

18、0.0354 0.0170 0.0083 0.0041 0.0020 0.0010 ss = 1.4990,转移结构,例:用循环求解求最大的 m s=0; for i=1:10000 s=s+i; if s10000, break; end end i i = 141,开关结构,和 C 语言的区别 当开关表达式的值等于某表达式,执行该语句后结束该结构,不用 break 当需要在开关表达式满足若干个表达式之一时执行某一程序段,则用单元形式 (用大括号把这些表达式括起来,用逗号分隔) otherwise 语句,不是C语言中的 default(但与之等价) 程序的执行结果和各个case顺序无关 ca。

19、se 语句中条件不能重复,否则列在后面的条件将不能执行,全新结构(首先试探性执行语句1,若执行过程中有错,将错误信息赋给保留的lasterr变量,并终止这段语句的执行,转而执行语句2。) 应将不保险但快的算法放在语句1,保险的放在语句2;或语句2说明语句1失效原因,2.3.4 试探结构,函数是 MATLAB 编程的主流方法 除了函数外,还可以采用 M-script(M脚本文件) 文件 M-script 适合于小规模运算 例:若最大值不为 10000,需修改程序 对 m 和 10000 值的设置,不适合于M-script,2.4 MATLAB 函数的编写,2.4.1 MATLAB 语言的函数的基。

20、本结构,nargin, nargout 分别表示输入和返回变量的实际个数,此为MATLAB保留变量,只要进入该函数, MATLAB就将自动生成这两个变量。 varargin, varargout 输入、输出变量列表(可变输入输出个数,例:前面的要求,m, 10000 function m,s=findsum(k) s=0; m=0; while (s m1,s1=findsum(145323) m1 = 539 s1 = 145530 无需修改程序,例: 若只给出一个输入参数,则会自动生成一个方阵 在函数中给出合适的帮助信息 检测输入和返回变量的个数 edit myhilb,function 。

21、A=myhilb(n, m) %产生A=MYHILB(N,M)或A=MYHILB(N); if nargout1, error(Too many output arguments.); end if nargin=1, m=n; elseif nargin=0 | nargin2 error(Wrong number of input arguments.); end A1=zeros(n,m); for i=1: n for j=1:m A1(i,j)=1/(i+j-1); end, end if nargout=1, A=A1; elseif nargout=0, disp(A1); en。

22、d,help myhilb 产生A=MYHILB(N,M)或A=MYHILB(N); A=myhilb(3,4) A = 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500 0.2000 0.1667 A=myhilb(4) A = 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500 0.2000 0.1667 0.2500 0.2000 0.1667 0.1429 A=myhilb(3,4,5) ? Error usi。

23、ng = myhilb Too many input arguments,例:函数的递归调用:阶乘 function k=my_fact(n) if nargin=1, error(输入变量个数错误,只能有一个输入变量); end if nargout1, error(输出变量个数过多); end if abs(n-floor(n)eps | n1 % 如果 n1, 进行递归调用 k=n*my_fact(n-1); elseif any(0 1=n) % 0!=1!=1 k=1; end,my_fact(11) ans = 39916800 其实MATLAB提供了求取阶乘的函数factoria。

24、l(),其核心算法为 prod(1:n),从结构上更简单、直观,速度也更快。 prod(1:11) ans = 39916800 prod(1:3:11) ans = 280,例: conv( ) 可以计算两个多项式的积 用 varargin 实现任意多个多项式的积 function a=convs(varargin) a=1; for i=1:length(varargin), a=conv(a,varargini); end P=1 2 4 0 5; Q=1 2; F=1 2 3; D=convs(P,Q,F) D = 1 6 19 36 45 44 35 30 poly2sym(D) a。

25、ns = x7+6*x6+19*x5+36*x4+45*x3+44*x2+35*x+30,2.4.2 可变输入输出个数,E=conv(conv(P,Q),F) % 若采用 conv() 函数,则需要嵌套调用 E = 1 6 19 36 45 44 35 30 poly2sym(E) ans = x7+6*x6+19*x5+36*x4+45*x3+44*x2+35*x+30 G=convs(P,Q,F,1,1,1,3,1,1) G = 1 11 56 176 376 578 678 648 527 315 90,2.4.3 inline 函数和匿名函数,inline 函数,可以免去文件 f=in。

26、line(sin(x.2+y.2),x,y) MATLAB 7.0,2.5 二维图形绘制,2.5.1 二维图形绘制基本语句,构造向量,例:选项为红色点划线且每个转折点用五角星表示 r-.pentagram,例: x=-pi : 0.05: pi; % 以 0.05 为步距构造自变量向量 y=sin(tan(x)-tan(sin(x); % 求出各个点上的函数值 plot(x,y) plot(x,y,r-.pentagram,x=-pi:0.05:-1.8,-1.801:.001:-1.2, -1.2:0.05:1.2,. 1.201:0.001:1.8, 1.81:0.05:pi; % 以变步。

27、距方式构造自变量向量 y=sin(tan(x)-tan(sin(x); % 求出各个点上的函数值 plot(x,y) % 绘制曲线,例: x=-2:0.02:2; % 生成自变量向量 y=1.1*sign(x).*(abs(x)1.1) + x.*(abs(x) plot(-2,-1.1,1.1,2,-1.1,-1.1,1.1,1.1,图形元素属性获取与修改,图形中,每条曲线、坐标轴、图形窗口分别是一个对象。可用set( )函数设置对象的属性,用get( )函数获得对象的某个属性。 这两个语句在界面编程中特别有用,2.5.2 其他二维图形绘制语句,例:绘制极坐标曲线 theta=0:0.01:。

28、6*pi; rho=5*sin(4*theta/3); polar(theta,rho) rho=5*sin(theta/3); polar(theta,rho) 周期确定,可以采用试凑方法,例:用不同曲线绘制函数表示正弦曲线 t=0:.2:2*pi; y=sin(t); % 先生成绘图用数据 subplot(2,2,1), stairs(t,y) % 分割窗口,在左上角绘制阶梯曲线 subplot(2,2,2), stem(t,y) % 火柴杆曲线绘制 subplot(2,2,3), bar(t,y) % 条型图绘制 subplot(2,2,4), semilogx(t,y) % 横坐标为对。

29、数的曲线,2.5.3 隐函数绘制及应用,隐函数 例: ezplot(x2 *sin(x+y2) +y2*exp(x+y)+5*cos(x2+y) x自选 ezplot(x2 *sin(x+y2) +y2*exp(x+y)+5*cos(x2+y),-10 10,2.6 三维图形绘制,三维曲线绘制 stem3, fill3, bar3 等,例:参数方程 t=0:.1:2*pi; % 构造 t 向量,注意下面的点运算 x=t.3.*sin(3*t).*exp(-t); y=t.3.*cos(3*t).*exp(-t); z=t.2; plot3(x,y,z), grid % 三维曲线绘制 stem3。

30、(x,y,z); hold on; plot3(x,y,z), grid,2.6.2 三维曲面绘制,一般曲面绘制 mesh( )绘制网格图,surf( )绘制表面图。 其他函数,光照下 surfl( ), surfc( ),瀑布型waterfall( ) 等高线绘制 contour( ), contour3(,例:Butterworth 滤波器 x,y=meshgrid(0:31); n=2; D0=200; D=sqrt(x-16).2+(y-16).2); % 求距离 z=1./(1+D.(2*n)/D0); mesh(x,y,z), % 计算并绘制滤波器 axis(0,31,0,31,0。

31、,1) % 重新设置坐标系,增大可读性 surf(x,y,z) % 绘制三维表面图 contour3(x,y,z,30) 三维等高线图,30等高线条数,例:试绘制出二元函数 x,y=meshgrid(-2:.1:2); z=1./(sqrt(1-x).2+y.2)+1./(sqrt(1+x).2+y.2); Warning: Divide by zero. (Type warning off MATLAB:divideByZero to suppress this warning.) Warning: Divide by zero. (Type warning off MATLAB:divid。

32、eByZero to suppress this warning.) surf(x,y,z), shading flat,xx=-2:.1:-1.2, -1.1:0.02:-0.9, -0.8:0.1:0.8, 0.9:0.02:1.1, 1.2:0.1:2; yy=-1:0.1:-0.2, -0.1:0.02:0.1, 0.2:.1:1; x,y=meshgrid(xx,yy); z=1./(sqrt(1-x).2+y.2)+1./(sqrt(1+x).2+y.2); Warning: Divide by zero. (Type warning off MATLAB:divideByZero。

33、 to suppress this warning.) Warning: Divide by zero. (Type warning off MATLAB:divideByZero to suppress this warning.) surf(x,y,z), shading faceted; set(gca,zlim,0,20,例:Butterworth 滤波器 x,y=meshgrid(0:31); n=2; D0=200; D=sqrt(x-16).2+(y-16).2); z=1./(1+D.(2*n)/D0); % 计算滤波器 subplot(221), surf(x,y,z), axis(0,31,0,31,0,1); view(0,90);% 俯视图 subplot(222), surf(x,y,z), axis(0,31,0,31,0,1); view(90,0); % 侧视图% subplot(223), surf(x,y,z), axis(0,31,0,31,0,1); view(0,0); % 正视图 subplot(224), surf(x,y,z), axis(0,31,0,31,0,1); % 三维图,第一个角度用来表示水平方向,默认值-37.5度( y轴负方向的夹角); 第二个角度用来表示垂直方向,默认值36度。

matlab hilb,MATLAB在科学计算中的应用:第2章 MATLAB 语言程序设计基础相关推荐

  1. matlab 与 python 在科学计算中的区别比较

    本文以求解拟一维喷管流动为例,比较两者在科学计算中的区别. 感受:matlab矩阵实验室在求解矩阵方面具有得天独厚的优势,尤其是在矩阵之间的运算方面.求解方程过程中,能够明显感觉到编程给人带来的快感, ...

  2. 全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.Python 会有哪些最为独特的优势呢?又存在哪些让开发者无力的缺陷?在本文中,我们将 ...

  3. python 对比matlab_全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    原标题:全面对比 MATLAB.Julia.Python,谁在科学计算中更胜一筹? 数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.P ...

  4. matlab在数值计算中的应用,详解MATLAB在科学计算中的应用

    详解MATLAB在科学计算中的应用 编辑 锁定 讨论 上传视频 <详解MATLAB在科学计算中的应用>是2011年电子工业出版社出版的图书,作者是陈泽占海明. 书    名 详解MATLA ...

  5. matlab 蔡旭晖,科学计算与MATLAB语言

    什么叫计算? 什么叫科学计算? 科学计算与MATLAB语言的关系 MATLAB语言的主要功能 课程的学习目标 课程的主要内容 1.什么叫计算? 在汉语中,"计算"一词的含义: 谋划 ...

  6. matlab光线追击,MATLAB在追迹光线计算中的应用

    原标题:MATLAB在追迹光线计算中的应用 李理,刘 健,彭广威,曾斌 (湘潭大学新材料研究中心,湖南湘潭411105) 摘要:给出了理想光具组系统矩阵的MATLAB计算程序,并借助MATLAB进行光 ...

  7. python应用实例论文_浅谈Python在科学计算中的应用

    55 SYS PRACTICE 系统实践 有效的计算工具能为工作提高效率,Python 在实际工作与 科学调研中等运用的也越来越广泛,通过专家不断的研究与分 析,通过 Python 进行科学计算是再合 ...

  8. 关于科学计算中的数值误差问题

    主页 › 博客 › 关于科学计算中的数值误差问题 作者: 甘驰 (Intel) (16 篇文章) 日期: 一月 26, 2010 在 3:51 下午 最近看到有开发HPC应用的程序员反映换了编译器后, ...

  9. python 矩阵运算 for循环_如何用 Python 科学计算中的矩阵替代循环

    展开全部 因为在Mathematica中使用循环确实是低效的.32313133353236313431303231363533e78988e69d8331333361313961..... 深层次的原 ...

最新文章

  1. 使用Tensor Expression张量表达式处理算子
  2. 医学图像处理期末复习(二)
  3. leetcode904. 水果成篮(滑动窗口)
  4. Python QT5
  5. 胜过对手,先从微笑开始
  6. nginx学习笔记003---Nginx代理配置_注意,在Windows中路径要用/
  7. css3媒体查询尺寸
  8. Tex中关于字体更换的问题
  9. 有效沟通要解决的三个基本方面
  10. 以太网交换机的工作原理
  11. 记忆日语的奥秘—日语汉字读音变化
  12. windows文件共享客户端的一些事——samba文件共享
  13. android 本地数据库持久化框架,android数据库持久化框架, ormlite框架,
  14. Mix-In的译法探讨
  15. python微信公众号翻译功能怎么用_Watson使用指南(七)在微信公众号中实现识图作诗功能...
  16. 删除win7资源管理器左侧家庭组/导航窗口的收藏夹、库、家庭组以及网络的方法
  17. Suse12.1 - rpm部署GlusterFS分布式存储
  18. linux安装tesseract支持tess4j图片识别
  19. Java memory stream 内存流
  20. setcookie各个参数详解

热门文章

  1. 用python编写一个简易图书搜索系统
  2. Xshell|Xftp正版免费使用,再也不用辛辛苦苦破解了
  3. 联想thinkpad x1 nano和x1 carbon选哪个好?
  4. KEPServerEX6 之 MTConnect 驱动连接CNC-HURCO(赫克)使用方式
  5. TensorFlow的子项目DELF的测试及学习
  6. 【分享】【摘录】爱车异响排除
  7. Cisco IRB BVI
  8. 自学python,庆幸知道这12个网站,省下了不少钱
  9. C语言函数返回值详解
  10. 代谢物常见的ID号你都搞明白了吗?