matlab基本使用指南
目录
- 一、MATLAB介绍与使用
- 1.1 matlab功能
- 1.2 文件
- 1.3 全局变量
- 1.4 程序调试
- 二、数据操作
- 2.1 变量和语句
- 2.2 数据类型
- 2.2.1 数值型数据
- 2.2.2 字符串
- 2.2.3 结构体
- 2.2.4 单元
- 三、矩阵
- 3.1 矩阵建立
- 3.1.1 普通矩阵的建立
- 3.1.2 特殊矩阵的建立
- 3.1.3 冒号表达式建立向量
- 3.1.4 linspace建立向量
- 3.2 矩阵操作
- 3.2.1 索引矩阵
- 3.2.2 重排矩阵
- 3.2.3 矩阵的转置
- 3.2.4 矩阵的拆分
- 3.2.5 删除矩阵
- 3.2.6 矩阵压缩
- 3.3 矩阵和向量运算
- 3.4 线性方程组求解
- 3.5 矩阵的特征值
- 3.6 向量和矩阵的范数
- 3.7 矩阵分析
- 3.7.1 函数矩阵-求导
- 四、绘图
- 4.1 二维高层绘图
- 4.1.1 plot函数
- 4.1.2 图形标注
- 4.2.3 坐标轴控制
- 4.2.4 图形保持
- 4.2.5 窗口分割
- 4.2 二维底层绘图
- 4.2.1 line函数
- 4.2.2 底层标注
- 4.2.3 底层坐标轴控制
- 五、符号运算
- 5.1 符号计算基础
- 5.1.1 符号常量、符号变量
- 5.1.2 符号表达式
- ADD 命令窗口常用命令
- ADD 编辑器窗口常用快捷键
资源下载: 点击链接 提取码:ujbb
一、MATLAB介绍与使用
1.1 matlab功能
- 数值和符号计算
- 绘图
- 一种语言体系
- 工具箱(toolbox)(功能性、科学性)
1.2 文件
分类:
- 命令文件(脚本文件)
- 函数文件
区别:
- 命令文件没有输入,没有返回;
- 命令文件可以有对工作空间的变量操作,结果返回工作空间,而函数文件中的变量为局部变量,函数执行完毕,变量被清除;
- 命令文件可以直接运行,函数文件见需要调用的形式运行(除了特殊的函数文件指外);
函数文件 (M文件)
基本结构:
- function [ 输出形参 ] = 函数名 ( [ 输入形参 ] ) (中括号内容可省)
- [注释说明]
- [函数体]
关于函数文件名:
- 通常和函数名一致,如果不一致,那么忽略函数名,调用时使用函数文件名;
注释:
多行注释:选中要注释的若干语句,编辑器菜单Text-<Comment,或者快捷键Ctrl+R
取消注释:选中要取消注释的语句,编辑器菜单Text-<Uncomment,或者快捷键Ctrl+T
函数参数可调标识变量:
nargin
nargout
varargin
varargout
可以完成传递参数的可调功能,类似于高级语言中的函数重载和多态;
前两者为输入输出参数个数,后面两个可以代表未知的输入输出变量;
例如:
% 函数
% nargout的使用
function [a,b]=fun(c,d,e,f)if nargout==2a=c+d+e+fb=c*d*e*f
elsea=c+d+e+f
end
% 结果
>> fun(1,2,3,4)
ans =10
>> [a,b]=fun(1,2,3,4)
b =24
% varargin使用
function re=fun(a,b,varargin)
if nargin == 2re=a+b;
elseif nargin==3c=varargin(1); % varargin为cell数组,对其的引用为改为{}即可正确运行re = a + b + c;
elseerror('wrong'); % 一般会写具体的错误信息 便于查找
end
>> fun(1,2,3)
varargin =1×1 cell 数组{[3]}
未定义与 'cell' 类型的输入参数相对应的运算符 '+'。 %出现错误的原因是varargin为cell数组,对其的引用为{}
出错 fun (line 7)re = a + b + c;>> fun(1,2,3)
ans =6
1.3 全局变量
使用global声明,可以提供不同的M文件访问同一个变量。
不同的函数之间访问同一个变量,可以通过返回参数来设置,或者使用全局变量。在GUI中,也可以通过其他方式完成(GUI数据,app数据等);
1.4 程序调试
1、根据错误提示确定错误内容
2、断点和单步
二、数据操作
2.1 变量和语句
变量命名
- 字母开头,包括字母、数字、下划线,区分大小号;
- 不声明,不定义,拿来即用
语句
- 回车则表示一句结束,末尾无分号,则输出该句执行的结果,末尾有分号,只执行,不输出;
- 注释以%开头丧示;
- 一行写不开,用…续行,否则默认这一句已经完毕;
工作空间中驻留的变量查看
- 工作窗口显示
- 命令方式:
who
whos
清除变量
- clear命令
保存数据
- save命令
save[文件名][变量名][-append][-ascii]
数据输出
- format函数使用
format 格式符
- 之影响数据输出格式,不影响计算和存储
- 默认输出格式为short格式
2.2 数据类型
2.2.1 数值型数据
建立
a=1 %建立double型数据a,值为1
转换
b=uint(a); %a转化为uint8类型(无符号整型,8位)复制到b中,执行结果a类型不变
2.2.2 字符串
建立
使用 ’ ’ 括起来的字符
str='this is a string'
c='a'
操作
1、获取字符ascii值
double('a')或者abs('a')
2、ascii转化为字符输出
char(63)
3、执行字符串内容
eval('t=1') %将字符串't=1'作为matlab语句执行,即将1复制给变量t
4、字符串和数值的互换
在matlab中的输入默认为字符串类型,若要将其变成数值,可str2num('1234')
将数值变成字符串num2str(1234)
不过,2016a版本的matlab好像会根据你的输入自动区分了
2.2.3 结构体
建立
% input
a.x1=1
a.x2=2
% output
a = 包含以下字段的 struct:x1: 1x2: 2
结构体操作
1、判断是否为结构体
isstruct( )
2、返回所有成员的成员名
filenames()
2.2.4 单元
建立
使用{ }括起来建立
a={1,'str',[11 12 13 14]};
三、矩阵
3.1 矩阵建立
3.1.1 普通矩阵的建立
1、直接输入法
- 在命令窗口直接输入矩阵元素;
- 按行输入矩阵元素,同一行元素使用空格或者逗号隔开,不同行元素使用分号或者回年作为间隔;
>> a=[1 2 3]
a =1 2 3
>> a=[1,2,3,4]
a =1 2 3 4
>> a=[1,2,3;4,5,6]
a =1 2 34 5 6
2、M文件建立矩阵
在m文件中输入类似于直接输入法的语句,运行文件即可;
3.1.2 特殊矩阵的建立
1、零矩阵建立
>> zeros(4)
ans =0 0 0 00 0 0 00 0 0 00 0 0 0
>> zeros(3,4)
ans =0 0 0 00 0 0 00 0 0 0
2、幺矩阵建立
同0矩阵,把zeros改成ones即可;
3、单位矩阵建立
>> eye(10,10) %若只有一个参数,默认方阵
ans =1 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 0 0 1 0 0 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 0 0 1 0 0 0 00 0 0 0 0 0 1 0 0 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 0 1
主对角线元素为1;
4、随机矩阵
>> rand(10,2)
ans =0.1576 0.65570.9706 0.03570.9572 0.84910.4854 0.93400.8003 0.67870.1419 0.75770.4218 0.74310.9157 0.39220.7922 0.65550.9595 0.1712>> randn(10,2) %服从正态分布
ans =0.8884 -0.1022-1.1471 -0.2414-1.0689 0.3192-0.8095 0.3129-2.9443 -0.86491.4384 -0.03010.3252 -0.1649-0.7549 0.62771.3703 1.0933-1.7115 1.1093
% 从a到b之间分布的随机数
% s=a+(b-a)*rand
>> 0+10*rand(10,2)
ans =2.7603 7.51276.7970 2.55106.5510 5.05961.6261 6.99081.1900 8.90904.9836 9.59299.5974 5.47223.4039 1.38625.8527 1.49292.2381 2.5751
% 产生均值为u,方差为s的正态分布的随机矩阵
% y=u + sqrt(s)*randn(10,2)
>> y=0.6 + sqrt(5)*randn(10,2)
y =-1.9669 2.47910.8345 -1.38572.2150 0.82386.3813 -0.6176-0.8912 1.27871.0189 -0.74240.4155 1.6956-3.7224 2.2533-0.3816 4.4279-3.4130 0.1659
5、模仿矩阵
magic(n,m)
❗ Hibert矩阵和Toeplitz矩阵以后用到了再说;
3.1.3 冒号表达式建立向量
start:step:stop %以start开始,end结尾的步长为step的向量
3.1.4 linspace建立向量
linspace(start,end,num) %从start开始,end结尾的含有num(默认100)个元素的向量
3.2 矩阵操作
3.2.1 索引矩阵
可以使用矩阵元素的行标和列标或者矩阵元素的位置索引来索引矩阵元素;
>> a=[1,2,3;4,5,6;7,8,9]
a =1 2 34 5 67 8 9>> a(2,3) %输出第二行第三列的元素
ans =6>> a(6) %matlab以行为单位显示,但存储以列为单位,多以第6个元素为8
ans =8>>[m,n]=find(a==8)%查找值为8的元素所在位置
m = 3
n =2
>>ind=find(a==8)
ind =6
❗ 序列和下标的转换(需要用到时再补充)
3.2.2 重排矩阵
% reshape(a,n,m)函数 将矩阵a重排为n行m列的矩阵
>> b=reshape(a,9,1) % <=> b=a(:)
b =147258369
3.2.3 矩阵的转置
c=a'
>> c=a'
c =1 4 72 5 83 6 9
3.2.4 矩阵的拆分
>> d=a(1:2,2:3) %d为a矩阵第1、2行第2、3列的四个元素; <=> d=a([1 2],[1,2])
d =2 35 6
结尾可用end表示
3.2.5 删除矩阵
>> a=[1,2,3;4,5,6;7,8,9]
a =1 2 34 5 67 8 9>> a(8)=[] %删除第8个值
a =1 4 7 2 5 8 3 9
>> a=[1,2,3;4,5,6;7,8,9]
a =1 2 34 5 67 8 9>> a(1,:)=[] %删除第一行
a =4 5 67 8 9
矩阵扩展需要时再查询
3.2.6 矩阵压缩
>> a=[1 2 3 3 3 4 4 4 5 5 5]
a =1 至 10 列1 2 3 3 3 4 4 4 5 511 列5>> unique(a) %用于取非重复值
ans =1 2 3 4 5
3.3 矩阵和向量运算
% 1、矩阵相加
>> A=[1,0,0,0;3,1,0,0;-5,2,1,0;7,3,2,1]
A =1 0 0 03 1 0 0-5 2 1 07 3 2 1>> B=[1,2,3,4;2,3,4,5;3,4,5,6;4,5,6,7]
B =1 2 3 42 3 4 53 4 5 64 5 6 7>> k=3
k =3>> A+B
ans =2 2 3 45 4 4 5-2 6 6 611 8 8 8% 2、乘以常数
>> k*A
ans =3 0 0 09 3 0 0-15 6 3 021 9 6 3
% 3、矩阵的行列式
>> det(A)
ans =1
% 4、矩阵的逆
>> inv(A)
ans =1.0000 0 0 0-3.0000 1.0000 -0.0000 -0.000011.0000 -2.0000 1.0000 0.0000-20.0000 1.0000 -2.0000 1.000
% 5、内积
A*B' <=> dot(A,B)
>> B
B =1 2 3 42 3 4 53 4 5 64 5 6 7>> A
A =1 0 0 03 1 0 0-5 2 1 07 3 2 1>> dot(A,B)
ans =20 26 17 7
向量可以看作1*n 矩阵或者 n*1 矩阵
,因此向量的加法和数乘等运算和矩阵是一样的;
3.4 线性方程组求解
>> A=[1,2,3;1,4,9;1,8,27]
A =1 2 31 4 91 8 27>> b=[5,-2,6]
b =5 -2 6>> x=inv(A)*b
错误使用 * % 为什么这里会错误,因为这里赋值的b是行向量,而线性方程组右边的应该是列向量;
内部矩阵维度必须一致。>> b=b' %对b进行转置
b =5-26>> x=inv(A)*b % <=> x=A\b (A除以b)
x =23.0000-14.50003.6667
3.5 矩阵的特征值
% 使用eig函数
>> A=[1 0 i;0 2 0;-i 0 1]
A =1.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 1.0000i0.0000 + 0.0000i 2.0000 + 0.0000i 0.0000 + 0.0000i0.0000 - 1.0000i 0.0000 + 0.0000i 1.0000 + 0.0000i>> eig(A) % 特征值
ans =022>> [E,D]=eig(A)
E = 0.0000 + 0.7071i 0.0000 + 0.7071i 0.0000 + 0.0000i0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 1.0000i-0.7071 + 0.0000i 0.7071 + 0.0000i 0.0000 + 0.0000iD = % 特征矩阵0 0 00 2 00 0 2
3.6 向量和矩阵的范数
衡量距离
>> A = [0 3 3;-1 8 6; 2 -14 -10]
A =0 3 3-1 8 62 -14 -10>> norm(A,1) % 1范数
ans =25>> norm(A,2) % 2范数
ans =20.4523>> norm(A,inf) %无穷范数
ans =26>> norm(A,'fro') % f范数
ans =20.4695
3.7 矩阵分析
3.7.1 函数矩阵-求导
>> syms x % 定义符号x 把它当作一个代数对待
>> A = [sin(x) exp(x) 1;cos(x) x^2+1 log(x)]
A =
[ sin(x), exp(x), 1]
[ cos(x), x^2 + 1, log(x)]>> diff(A) % 1阶求导
ans =
[ cos(x), exp(x), 0]
[ -sin(x), 2*x, 1/x]>> diff(A,2) % 2阶求导
ans =
[ -sin(x), exp(x), 0]
[ -cos(x), 2, -1/x^2]
四、绘图
4.1 二维高层绘图
4.1.1 plot函数
plot(x,y); % 要求x和y为相同长度的向量
特殊用法:
1、x为向量,y为矩阵,其中一维与x长度相同,则绘制多条不同色彩的曲线(颜色怎么确定?)
x=0:0.01:2*pi;
y1=sin(x);
y2=cos(x);
y3=0.002*exp(x);
z=[y1;y2;y3];
plot(x,z)
2、x和y为同维的矩阵,以对应列绘制不同色彩的曲线;
x1=0:0.01:2*pi;
x2=-pi:0.01:pi;
x=[x1;x2]'; % 默认按列绘制图像,所以要进行转置,使其按行绘制图像;
y1=sin(x1);
y2=cos(x2);
y=[y1;y2]'; % 默认按列绘制图像,所以要进行转置,使其按行绘制图像;
plot(x,y)
3、plot有一个参数,若x为实数向量,则绘制折线图,若x为复数向量,则以实部和虚部为横纵坐标绘图;
❗ 用到了再查;
4、多个输入参数;
plot(x1,y1,x2,y2) % 绘制x1y1图像以及x2,y2图像
5、曲线选项;
plot(x,y,'r') % 更改颜色
plot(x,y,'*') % 更改点的样式
plot(x,y,'--') % 更改线的样式
plot(x,y,'r*--')
4.1.2 图形标注
x=linspace(0,2*pi,100);
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2)
xlabel('x')
ylabel('y')
title('正弦')
text(2,0.3,'这是标注')
text(5,0.5,'x^2') % Latex字符,^代表上标,_代表下标
text(4,0.4,'x_2')
legend('sin','cos')
4.2.3 坐标轴控制
axis equal % 正方形的坐标轴
axis auto
axis on
axis off
axis([xmin xmax ymin ymax])
xlim([xmin xmax])
ylim([ymin ymax])
4.2.4 图形保持
hold on
plot(x,y1)
plot(x,y2)
hold off
4.2.5 窗口分割
x=0:0.1:2*pi;
y1=sin(x);
y2=cos(x);
y3=tan(x);
y4=exp(x);
subplot(2,2,1) % 绘制四个小图形中的第一个
plot(x,y1)
subplot(222)
plot(x,y2)
subplot(223)
plot(x,y3)
subplot(224)
plot(x,y4)
4.2 二维底层绘图
4.2.1 line函数
% h=line([-pi:0.1:pi],sin([-pi:0.1:pi]));
h=line('XData',[-pi:0.1:pi],'YData',sin([-pi:0.1:pi]),...'LineWidth',1,'LineStyle',':','Color','r')
set(h,'LineWidth',2,'Marker','p','MarkerSize',10);
plot绘制的图形也是line对象,可以通过line对象的修饰方法后期修饰;
4.2.2 底层标注
h=line('XData',[-pi:0.1:pi],'YData',sin([-pi:0.1:pi]),...'LineWidth',1,'LineStyle',':','Color','r')
set(h,'LineWidth',2,'Marker','p','MarkerSize',10);
ht=text(0,0,'sinx')
set(ht,'String','cos')
set(ht,'FontSize',20)
4.2.3 底层坐标轴控制
归一化 vs 像素
hf = figure;
ha = axes('Parent',hf,'Units','normalized','Position',[.1 .1 .6 .5])
修饰:
- Box属性
- GridLineStyle属性
- Position属性
- Units属性
- XLabel、YLabel和ZLabel属性
- Xlim、Ylim和Zlim属性
需要知道哪个属性可用get(xxx)
来获得属性信息
五、符号运算
5.1 符号计算基础
5.1.1 符号常量、符号变量
a=sym('a');
% or
syms a;
% or
c=sym('3')
5.1.2 符号表达式
f1 = '3*x + 6'; % 类型是'char',但能做符号表达式的相关运算
% or
syms x
f2 = 3*x + 6;
表达式运算可以直接使用符号四则运算 +-*/
;
符号表达式化简:
>> syms x y
>> s = (x^2 + y^2)^2 + (x^2-y^2)^2;
>> simplify(s)
ans =
2*x^4 + 2*y^4
符号和数值的转换:
c = sym('3')
eval(c)
numberic(c)
因式分解和展开、合并同类项
>> syms a b x y
>> f1=a^3-b^3;
>> factor(f1) % 因式分解
ans =
[ a - b, a^2 + a*b + b^2]>> f2=(3*x^2+8*y^2)*(-x^2+3*y)
f2 =
(- x^2 + 3*y)*(3*x^2 + 8*y^2)>> expand(f2) % 展开同类项
ans =
- 3*x^4 - 8*x^2*y^2 + 9*x^2*y + 24*y^3>> f3=3*x^2+4*x^2+5*x^2*y
f3 =
5*x^2*y + 7*x^2>> collect(f3) % 合并同类项
ans =
(5*y + 7)*x^2
符号函数值的求解
>> syms x
>> f1 = x^3 -9
f1 =
x^3 - 9>> subs(f1,3)
ans =
18
符号极限、符号微分、符号积分
>> y = (sin(x+a)-sin(x-a))/x;
>> limit(y,0) % 符号极限
ans =piecewise(in(real(a)/pi, 'integer') & (sinh(imag(a)) == 0 | in(real(a)/pi - 1/2, 'integer')), 0, in(real(a)/pi, 'integer') & 0 < cos(real(a))*sinh(imag(a)) | in(real(a)/pi, 'integer') & cos(real(a))*sinh(imag(a)) < 0 | sinh(imag(a)) ~= 0 & ~in(real(a)/pi - 1/2, 'integer'), limit((sin(a - x) + sin(a + x))/x, x, 0))>> y2 = sqrt(1+exp(x));
>> diff(y2) % 符号导数
ans =
exp(x)/(2*(exp(x) + 1)^(1/2))
>> diff(y2,2) % 二阶导数
ans =
exp(x)/(2*(exp(x) + 1)^(1/2)) - exp(2*x)/(4*(exp(x) + 1)^(3/2))>> y3=(3-x^2)^3;
>> int(y3) % 不定积分
ans =
- x^7/7 + (9*x^5)/5 - 9*x^3 + 27*x>> y4 = abs(1-x);
>> int(y4,1,2) % 定积分
ans =
1/2
❗ 符号级数求和、泰勒展开用到了再查
符号方程求解
>> solve(x+x*exp(x)-10)
ans =
1.6335061701558463841931651789789>> eval(solve(x+x*exp(x)-10))
ans =1.6335
方程组求解
>> [x,y]=solve('1/x^3+1/y^3-28','1/x+1/y-4','x,y')
x =11/3y =1/31
微分方程求解
>> dsolve('Dy-(x^2+y^2)/x^2/2','x')
ans =x-x*(1/(C5 + log(x)/2) - 1)
ADD 命令窗口常用命令
clc 清空命令行
help 查找/查阅相关内容 用法:help xxxxx
class(a) 输出变量a的类型
edit 启动编辑器,并新建一个空白文件
ADD 编辑器窗口常用快捷键
ctrl + G 直接跳至某行
F5 保存并运行程序
ctrl + R 快速注释
ctrl + T 快速取消注释
Tab 自动补全
matlab基本使用指南相关推荐
- Matlab编程入门指南:简介、安装、学习路线和几十个编程案例分析。
一.Matlab编程入门指南:简介.安装.学习路线和几十个编程案例分析. 1.Matlab编程语言是一种广泛应用于科学计算.工程计算.数据分析.统计分析.信号处理等领域的高级数值计算和数据可视化软件. ...
- MATLAB 编程风格指南
MATLAB 编程风格指南 --Richard Johnson Version 1.5,Oct. 2002 版权: Datatool 所有 翻译:Genial @ USTC &qu ...
- Matlab数据库编程指南
Matlab与数据库链接有三种方法,本文只讲述其中以ODBC的方式进行链接. 本文件包含四部分,其中第三部分为我自己写的一些数据库函数操作的函数,第四部分为网上的一些资料. 如有疑问可以邮件联系 tn ...
- 【ZMK】CFnet目标跟踪算法Matlab代码运行指南
由于最近在做相关滤波方面的工作. CFnet是文章End-to-end representation learning for Correlation Filter based tracking中算法 ...
- matlab gui优化,matlabgui优化程序
的优化工具箱提供了各种优化函数,这些优化 函数可以通过在命令行输入相应的函数名加以调用;此外 为了使用方便,MATLAB 还提供了图形界面的优化工具 (GUI Optimization ...... ...
- matlab 资料分享
1.matlab编程(中文版) 原来链接出了问题,原因不明,暂停下载 现在给出另外一本不错的书MATLAB编程(中文第二版) MATLAB Programming for Engineers(Seco ...
- 【故障诊断分析】基于matlab BP神经网络三相逆变器故障诊断研究【含Matlab源码 1736期】
一.BP神经网络三相逆变器故障诊断简介 针对三相桥式逆变电路为研究对象,建立了仿真模型,并对逆变器主电路开关器件的开路故障进行仿 真,提出了基于BP神经网络的故障诊断方法,确定了网络的结构和参数,并以 ...
- matlab+中文字体设计,有搞头没有? 有搞头
进入一个不熟悉的领域, 个人喜欢先down一大堆行业资料,流水般扫描一轮,再精选几本做为手册:这样2-3轮下来,基本上就算入了行. http://blog.sina.com.cn/s/blog_710 ...
- 最全的Matlab经典教程免费下载学习
薛定宇<高等应用数学问题的MATLAB求解>http://www.matlabsky.com/thread-177-1-1.html 樊京<MATLAB控制系统应用与实例>ht ...
最新文章
- 基于VS2019的Eigen库安装详解
- es6方法过滤掉两个数组中对象id值相等的项
- 新手也能学会本地调试微信,natapp 官网映射
- 【LeetCode笔记】46. 全排列(Java、DFS回溯、队列)
- 使用linux内核,打造自己的linux
- Supervisor的作用与配置
- 红米开发版刷机教程_红米K30开发版刷机包(官方完整最新固件升级包MIUI12)
- 数领科技|Solidworks软件这些年来的变化你都知道吗?
- 彩虹的七种颜色CMYK和RGB的值是什么
- python读取tif图片报错
- sx1278组网-子设备
- mshflexgrid如何删除当前鼠标选择的行,并且一并删除行所对应的数据库中的记录
- mysql after 不起作用_mysql之触发器before和after的区别(2)
- 用纯CSS写一个左右滑动的开关按钮
- html中怎么让英文排版,css如何实现英文对话排版
- 【python】根据文件(图片)名字,删除符合条件的文件(图片)
- asp.net基于net的小美果蔬批发网-蔬菜商城系统-计算机毕业设计
- Java面试通关要点汇总集【终极版】
- 兄弟连python培训
- Linux 内核自带的 LED 灯驱动
热门文章
- 前端核心技术必备知识库精华资源强力推荐
- MySQL server has gone away 问题的解决方法
- 博客园的神回复,程序猿的奇葩神回复[连载][二]
- 如何测试sql语句性能,提高执行效率
- [编写高质量代码:改善java程序的151个建议]后记
- 释放 HTML5 audio 的力量
- Asp.Net中Cache操作类
- JS之Window对象
- http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=122threadID=9172tstart=0
- Java实现蛇形矩阵