博文
MATLAB的图视化功能(一)(2007-06-30 14:25:00)
摘要: MATLAB的图视化功能(一)
1. MATLAB的图视化概论
数据图视化能使人们用视觉器官直接感受到数据的许多内在本质 。因此,数据可视化是人们研究科学、认识世界所不可缺少的手段。MATLAB不仅数值计算方面是一个优秀的科技应用软件, 在数据可视化方面也具有上佳表现。
MATLAB具有二维、三维乃至四维的图形表现能力。可以从线型、边界面、色彩、渲染、光线、视角等方面把数据的特征表现出来。
MAT LAB的图视化功能是建立在一组“图形对象”的基础之上的。“图形对象”的核心是图形的句柄(Granhics Handle)操作。
MATLAB的有两个层次的绘图指令:
(1) 底层(Low-leve)绘图指令:是直接对句柄进行操作。
底层绘图指令控制和表现数据图形的能力比高层绘图指令强。特点是灵活多变,较难掌握。
(2)  ......
Matlab优化程序设计(二)(2007-06-30 14:11:00)
摘要:2.无约束优化方法子程序,至少选取Newton型方法的子程序(Newton方法
Quasi-Newton方法,包括BFGS、DFP方法。)、 最速下降方法、共轭梯度方法(至少选择PRP、FR方法中的一种)及直接方法(Powll方法,单纯形法,Rosenbrock算法等)中的一种。
function [minx,miny]=Quick(confun,x0,ep)
%函数名:Quick--最速下降法搜索目标函数之极值
%参 数:confun--目标函数名 x0--初始点 ep--精度要求
%返回值:minx--极值点 miny--极值点函数值
[f,j]=confun(x0);
d=-j; %方向
while 1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%基于二次插值的最优步长搜索
r=1;
f0=confun(x0);
x1=x0+d;
f1=confun(x1);
if f1<f0
x1=x0+2*r*d;
f2=confun(x1);
while f2<f1
f1=f2;
r=2*r;
x1=x0+r*d;
f2=confun(x1);
end
r=(4 * f1 - 3 * f0 - f2) * r / (2 * (2 * ......
Matlab优化程序设计(一)(2007-06-30 14:08:00)
摘要: 1.编写线性搜索子程序
(1)精确线搜索, 用0.618方法或其它。
function [minx,miny,k]=GoldFind(confun,a,b,ep)
%函数名:GoldFind--0.618法,搜索目标函数之极值
%参 数:confun--目标函数名 [a,b]--搜索区间(a<b) ep--精度要求
%返回值:minx--极值点 miny--极值点函数值 k--迭代次数
if a>=b
error('ERROR IN INPUTING!--a<b')
break
end
t1=a+0.382*(b-a);
t2=a+0.618*(b-a);
f1=confun(t1);
f2=confun(t2);
k=1;
while 1
if f1<=f2
if t2-a<ep
minx=t1;
break
else
b=t2;
t2=t1;
t1=b-0.618*(b-a);
f2=f1;
f1=confun(t1);
end
elseif b-t1<ep
minx=t2;
break
&nb......
MATLAB编程入门(二)(2007-06-30 14:03:00)
摘要: MATLAB编程入门(二)
2.While 循环
与For循环以固定次数求一组命令的值相反,While 循环以不定的次数重复执行一组语句。While循环的一般形式是:
while 表达式1
语句1
end
只要表达式1里的所有元素为真,就执行while和end之间的语句1,否则,就结束循环。通常,表达式的值给出一个标量值,但数组值也同样有效。在数组情况下,当数组的所有元素为真(值不等零)时,就执行语句1,数组中有一个元素为假(值为零),就结束循环。
例3按下面的公式计算:
使误差小于给定的 .
解: 把 作为误差,程序如下:
error=input('请输入误差:');
x=1;
y=0;
n=1;
while x>error
y=y+1;
x=x/n;
n=n+1;
end
e=y
运行如下:
请输入误差:0.001
e =
2.7181
3.IF-ELSE-END 结构
很多情况下,命令的序列必须根据关系的检验有条件地执行。在编程语言里,这种逻辑由某种If-Else-End结构来提供。最简单的If-Else-End结构是:
if 表达式1
语句1
......
MATLAB编程入门(一)(2007-06-30 14:03:00)
摘要:MATLAB编程入门(一)
计算机程序就是计算机指令的集合,不同的编程语言指令与功能是不一样的.MATLAB语言是一种面向对象的高级语言,它具有编程效率高、易学易用的优点.
MATLAB与其它大部分高级语言一样,有它自己的控制流语句.控制流极其重要,因为它使过去的计算影响将来的运算。MATLAB提供如下几种控制流结构:For循环,While循环,If-Else-End结构和switch-case-end结构。由于这些结构经常包含大量的MATLAB命令,故经常出现在M文件中.MATLAB支持的控制流语句和C语言支持的控制流语句在调用格式上非常相似.
1.For 循环
For循环允许一条语句或一组语句被重复执行预先指定的次数。For循环的一般形式是:
for x =array
语句
end
在for和end语句之间的语句按数组中的每一列执行一次。在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:, n)。例如,
for n=1:10
x(n)=sin(n*pi/10);
end
x
x =
0.3090 0.5878 ......
MATLAB入门(六)(2007-06-30 14:01:00)
摘要:9.矩阵的运算
经典的算术运算符见下表:
经 典 的 算 术 运 算 符
运 算 符
MATLAB表达式
加
+
a+b
减
-
a-b
乘
*
a*b
除
/ 或 \
a/b或a\b
幂
^
a^b
前面我们已经把经典的算术运算符告诉大家了,在这里同样也可以使用。
» a=1:1:10;
» b=0:10:90;
» a+b
ans =
1 12 23 34 45 56 67 78 89 100
» a-b
ans =
1 -8 -17 -26 -35 -44 -53 -62 -71 -80
» a.*b%注意这里a后加了个“.”
ans =
0 20 60 120 200 300 ......
MATLAB入门(五)(2007-06-30 14:00:00)
摘要:8.矩阵及运算
1. 数组
MATLAB的运算事实上是以数组 (array) 及矩阵 (matrix) 方式在做运算。
建立一个数组时,如果是要个别键入元素,须用中括号[ ] 将元素置于其中。数组为一维元素所构成,而矩阵为多维元素所组成,例如
» x=[1 2 3 4 5 6 7 8] ;% 一维 1x8 阵列
» x = [1 2 3 4 5 6 7 8; 4 5 6 7 8 9 10 11] ; % 二维 2x8 矩阵,以;区隔各列的元素
» x = [1 2 3 4 5 6 7 8 % 二维 2x8 矩阵,各列的元素分二行键入
4 5 6 7 8 9 10 11] ;
» x(3)% x的第三个元素
ans =
2
» x([1 2 5])% x的第一、二、五个元素
ans =
1 4 3
x(1:5)% x的第前五个元素
ans =
1 4 2 5 3
» x(10:end)% x的第十个元素后的元素
ans =
8 6 9 7 10 8 11
» x(10:-1:2)% x的第十个元素和第二个元素的倒排
ans =
8 &n......
MATLAB入门(四)(2007-06-30 14:00:00)
摘要:7.MATLAB语言中的关系与逻辑运算
在执行关系及逻辑运算时,MATLAB 将输入的不为零的数值都视为真 (True)而为零的数值则视为假 (False)。 运算的输出值将判断为真者以 1 表示而判断为假者以 0 表示。各个运算符须用在二个大小相同的阵列或是矩阵中的比较。
关系运算
指令
含义
<
小于
<=
小于等于
>
大于
>=
大于等于
==
等于
~=
不等于
?a=1:2:11;
?b=2:1:7;
?a>b
ans =
0 0 1 1 1 1
?a==b
ans =
0 1 0 0 0 0
?a>=b
ans =
0 1 1 1 1 1
?a-(b>4)
ans =
1 3 5 6 8 &n......
MATLAB入门(三)(2007-06-30 13:58:00)
摘要:矩阵变换函数
名称
含义
名称
含义
fiplr
矩阵左右翻转
diag
产生或提取对角阵
fipud
矩阵上下翻转
tril
产生下三角
fipdim
矩阵特定维翻转
triu
产生上三角
Rot90
矩阵反时针90翻转
其他函数
名称
含义
名称
含义
min
最小值
max
最大值
mean
平均值
median
中位数
std
标准差
diff
相邻元素的差
sort
排序
length
个数
norm
欧氏(Euclidean)长度
sum
总和
prod
总乘积
dot
内积
cumsum
累计元素总和
cumprod
累计元素总乘积
cross
外积
可查阅在线帮助helpwin中matlab\elfun或help elfun。
6.MATLAB系统命令
命 令
含 义
help
在线帮助
helpwin
在线帮助窗口
helpdesk
在线帮助工作台
demo
运行演示程序
ver
版本信息
readme
显示Readme文件
who
显示当前变量
whos
显示当前变量的详细信息
clear
清空工作间的变量和函数
pack
整理工作间的内存
load
把文件调入变量到工作间
save
把变量存入文件中
quit/exit
......
MATLAB入门(二)(2007-06-30 13:58:00)
摘要:5.MATLAB常用数学函数
三角函数和双曲函数
名称
含义
名称
含义
名称
含义
sin
正弦
csc
余割
atanh
反双曲正切
cos
余弦
asec
反正割
acoth
反双曲余切
tan
正切
acsc
反余割
sech
双曲正割
cot
余切
sinh
双曲正弦
csch
双曲余割
asin
反正弦
cosh
双曲余弦
asech
反双曲正割
acos
反余弦
tanh
双曲正切
acsch
反双曲余割
atan
反正切
coth
双曲余切
acot
反余切
asinh
反双曲正弦
sec
正割
acosh
反双曲余弦
指数函数
名称
含义
名称
含义
名称
含义
exp
E为底的指数
log10
10为底的对数
pow2
2的幂
log
自然对数
log2
2为底的对数
sqrt
平方根
复数函数
名称
含义
名称
含义
名称
含义
abs
绝对值
conj
复数共轭
real
复数实部
angle
相角
imag
复数虚部
&nbs......