一、Matlab的基本介绍;
二、数值分析;
三、二维图像制作;
四、三维图像制作;
笔记:一、Matlab的基本介绍
矩阵的表示方法:A = [1 2 3 4; 5 6 7 8; 9 10 11 12];
B = A(2,1:3) % 取出部份矩阵B 取A的第二行,1至3列
A = [A B'] % 将B转置後以行向量并入A
A(:, 2) = [] % 删除第二行(:代表所有列)
下表即为MATLAB常用到的永久常数。
小整理:适用於向量的常用函数有:
min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
mean(x): 向量x的元素的平均值
median(x): 向量x的元素的中位数
std(x): 向量x的元素的标准差
diff(x): 向量x的相邻元素的差
sort(x): 对向量x的元素进行排序(Sorting)
length(x): 向量x的元素个数
norm(x): 向量x的欧氏(Euclidean)长度
sum(x): 向量x的元素总和
prod(x): 向量x的元素总乘积
cumsum(x): 向量x的累计元素总和
cumprod(x): 向量x的累计元素总乘积
dot(x, y): 向量x和y的内 积
cross(x, y): 向量x和y的外积 (大部份的向量函数也可适用於矩阵,详见下述。)
小整理:MATLAB的永久常数 i或j:基本虚数单位
eps:系统的浮点(Floating-point)精确度
inf:无限大,例如1/0 nan或NaN:非数值(Not a number),例如0/0
pi:圆周率 p(= 3.1415926...)
realmax:系统所能表示的最大数值
realmin:系统所能表示的最小数值
nargin: 函数的输入引数个数
nargin: 函数的输出引数个数
format rat % 使用分数来表示数值
for圈可以是多层的,下例产生一个16的Hilbert矩阵h,其中为於第i列、第j行的元素为
h = zeros(6);
for i = 1:6,
for j = 1:6,
h(i,j) = 1/(i+j-1);
end
end
disp(h)
1 1/2 1/3 1/4 1/5 1/6
1/2 1/3 1/4 1/5 1/6 1/7
1/3 1/4 1/5 1/6 1/7 1/8
1/4 1/5 1/6 1/7 1/8 1/9
1/5 1/6 1/7 1/8 1/9 1/10
1/6 1/7 1/8 1/9 1/10 1/11
1-4、集合多个命令於一个M档案
若要一次执行大量的MATLAB命令,可将这些命令存放於一个副档名为m的档案,并在 MATLAB提示号下键入此档案的主档名即可。此种包含MATLAB命令的档案都以m为副档名,因此通称M档案(M-files)。例如一个名为test.m的M档案,包含一连串的MATLAB命令,那麽只要直接键入test,即可执行其所包含的命令:
pwd % 显示现在的目录
ans =
D:\MATLAB5\bins
cd c:\data\mlbook % 进入test.m所在的目录
type test.m % 显示test.m的内容
% This is my first test M-file.
% Roger Jang, March 3, 1997
fprintf('Start of test.m!\n');
for i = 1:3,
fprintf('i = %d ---> i^3 = %d\n', i, i^3);
end
fprintf('End of test.m!\n');
test % 执行test.m
Start of test.m!
i = 1 ---> i^3 = 1
i = 2 ---> i^3 = 8
i = 3 ---> i^3 = 27
End of test.m!
文件名不能有空格,不能只有数字,不能有中文,但是输出可以有中文,比如 fprintf(’周凯是个笨蛋!\n’);
常见错误分析:
1. Error: Missing MATLAB operator. 表示没有此文件或者该文件的命名不对;
2. Error: Missing variable or function. 表示没有此文件或者该文件的命名不对;
3. ??? Error using ==> cd Too many input arguments. 表示文件名中有空格;
Disp 与 fprintf 的区别:disp是直接全部输出,不识别换行符
函数名一定要和函数的文件名相同,这样才可以引用,而且一定要到该文件的父文件夹下才能引用该函数
在Matlab里可以不注意标点符号,但是必须记住这样写就可能会出错,比如
function output = f(n)
% FACT Calculate factorial of a given positive integer.
output = 1
for i = 1:n
output = output*i
end
output = 12
和
function output = f(n)
% FACT Calculate factorial of a given positive integer.
output = 1,
for i = 1:n,
output = output*i;
end
output = 12
这两个运行结果就会不一样
行了,第一部分就到这里,继续~~~
二、数值分析
本来微分是diff,积分是int,可是现在微分表示不出来????
三.二维图像作图
x=linspace(0, 2*pi, 100); % 100个点的x座标
y=sin(x); % 对应的y座标
plot(x,y);
plot: x轴和y轴均为线性刻度(Linear scale)
loglog: x轴和y轴均为对数刻度(Logarithmic scale)
semilogx: x轴为对数刻度,y轴为线性刻度
semilogy: x轴为线性刻度,y轴为对数刻度
若要改变颜色,在座标对後面加上相关字串即可:
plot(x, sin(x), 'c', x, cos(x), 'g');
图形完成後,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:
axis([0, 6, -1.2, 1.2]);
注记:plot绘图函数的叁数 字元 颜色字元 图线型态 y黄色 .点 k黑色 o圆 w白色 x叉叉 b 蓝色 + + g绿色 * * r 红色 - 实线 c 亮青色 : 点线 m 锰紫色 -. 点虚线 -- 虚线
其他还有很多图形,具体见Word“二维图像制作”
四、三维图像著作
Colormap(【0 0 0】)表示黑色;
Colormap(【0 0 1】)表示蓝色;
Colormap(【0 1 0】)表示绿色;
Colormap(【1 0 0】)表示红色;
Colormap(【0 1 1】)表示绿色;
Colormap(【1 0 1】)表示紫色;
Colormap(【1 1 0】)表示橙黄色;
Colormap(【1 1 1】)表示白色;
在画图像时候,Matlab使用很简单,只要输入ezplot(‘函数形式’)
比如ezplot(‘x^2+y^2’);或者ezplot(‘x^2+y^2’,[0,1,1,2])
表示x范围0到1,y范围1到2;
Matlab心得:可以用tic 语句 toc 来计算时间
解方程:解如下方程:sin(x)-x=0;
First, ezplot(‘sin(x)-x’,[-5,0,5]);%用ezplot比较好,比较通用
Then, fsolve(‘sin(x)-x’,[-5,0,5]);
Or, fzero(‘sin(x)-x’,-5);
Equal axis 使得坐标刻度一样标准
Ginput来从图上读取坐标
Generate normal values with mean 1 and standard deviation 2.
r = 1 + 2.*randn(100,1);
矩阵每一项取倒数: 1./a即可
Matlab函数库:
http://wenku.baidu.com/view/1cfb745f312b3169a451a42b.html
第二篇:matlab版本
历史版本:
3.对于建造编号,愈来愈正规化以后,每年出两个版本,例如2011a和2011b。一般来说。a是测试版,b是正式版。从出版时间上看,a是前半年出,b是后半年出。