博文

MATLAB的图视化功能(一)(2007-06-30 14:25:00)

摘要:                                                MATLAB的图视化功能(一) 1. MATLAB的图视化概论          数据图视化能使人们用视觉器官直接感受到数据的许多内在本质 。因此,数据可视化是人们研究科学、认识世界所不可缺少的手段。MATLAB不仅数值计算方面是一个优秀的科技应用软件,   在数据可视化方面也具有上佳表现。         MATLAB具有二维、三维乃至四维的图形表现能力。可以从线型、边界面、色彩、渲染、光线、视角等方面把数据的特征表现出来。         MAT LAB的图视化功能是建立在一组“图形对象”的基础之上的。“图形对象”的核心是图形的句柄(Granhics Handle)操作。         MATLAB的有两个层次的绘图指令: (1)           底层(Low-leve)绘图指令:是直接对句柄进行操作。              底层绘图指令控制和表现数据图形的能力比高层绘图指令强。特点是灵活多变,较难掌握。 (2)    ......

阅读全文(3304) | 评论:0

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 * ......

阅读全文(3851) | 评论: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......

阅读全文(4598) | 评论:0

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 ......

阅读全文(6670) | 评论: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   ......

阅读全文(6726) | 评论:2

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 ......

阅读全文(2598) | 评论:0

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......

阅读全文(2408) | 评论:0

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......

阅读全文(2843) | 评论:0

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 ......

阅读全文(3287) | 评论:0

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......

阅读全文(3314) | 评论:1