Matlab创建有价值历史纪录(完整版)

[转载〕 Matlab创建有价值历史纪录(完整版)

 

% Matlab创建有价值历史纪录(完整版)
% “%”为注释符
% MATLAB
% MATLAB是一种科学计算语言。它集成了计算,可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。典型的应用有:
*  数学和计算
*  算法开发
*  建模,模拟和原形化
*  数据分析,探索和可视化
*  科学与工程制图
*  应用开发,包括图形用户界面的建立
%“MATLAB” 代表MATrix LABoratory(矩阵实验室)。MATLAB最初是编写来提供给对由LINPACK和EINPACK工程开发的矩阵软件简易访问 的。今天,MATLAB使用由LAPACK和ARPACK工程开发的软件,这些工程共同表现了矩阵计算软件中的技术展。
%
%Matlab是一种高水平的矩阵
/ 数组语言,含有控制流语句,函数,数据结构,输入 / 输出,和面向对象编程特征。它允许“小型编程”以迅速创立快速抛弃型程序,以及“大型编程”以创立完整的大型复杂应用程序。

%MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。这让你能解决很多技术计算的问题,尤其是那些要用到矩阵和向量表达式的问题。而要花的时间则只是用一种标量非交互语言(例如C或Fortran)写一个程序的时间的一小部分。
%
% MATLAB已经与许多用户输入一同发展了多年。在大学环境中,它是很多数学类、工程和科学类的初等和高等课程的标准指导工具。在工业上,MATLAB是高产研究、开发和分析所选择的工具。  
%
% MATLAB以一系列称为工具箱的应用指定解答为特征。对多数用户十分重要的是,工具箱使你能学习和应用专门的技术。工具箱是是MATLAB函数(M
- 文件)的全面的综合,这些文件把MATLAB的环境扩展到解决特殊类型问题上。具有可用工具箱的领域有:信号处理,控制系统神经网络,模糊逻辑,小波分析,模拟等等。
%
%MATLAB数学函数库汇集了大量计算的算法,范围从初等函数如:求和,正弦,余弦和复数的算术运算,到复杂的高等函数如:矩阵求逆,矩阵特征值,贝塞尔(Bessel)函数和快速傅立叶变换等。
%   clear     % 清除所有变量
    clc     % 清除命令窗口
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   ++++ Matlab一些基本操作 ++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    help clc    % clc的帮助文件,后接文件名则调出关于该函数过程的帮助内容
    what        % M、MAT、MEX 文件的目录列表
    which mean      % 该函数和文件的路径
    
eval ( ' 1+2*5+pi') % 执行由MATLAB 表达式构成的字串
    clock    % 挂钟
    
date      % 日历
% etime     % 计时函数
    tic     % 秒表开始计时
    toc     % 计时函数
    cputime  % CPU 时间(以秒为单位)
% eps     % 相对浮点精度,好像一个常数似的
= 2.2204e-016 ,不知道跟机子有无关
    realmax    % 最大浮点数
    realmin    % 最小浮点数
    inf     % 无穷大
    nan     % 非数值
% 显示字符超链接
    disp(
' <a href="matlab:magic(4)">Generate magic square</a>')
%   cd     % 当前工作目录,改变当前工作目录
    dir     % 当前目录下的文件列表
%   getenv(
' OS')    % 获取环境变量值,这里是获取操作系统的信息
    computer    % 计算机类型
%   hostid    % MATLAB 主服务程序的识别代号
%   ver     % 版本信息
    version    % MATLAB 版本号
%
% 执行DOS 操作系统命令
    !cd
%
% type mean     % 列出M 文件内容,work中必须有该文件
% lookfor mean     % 通过help 条目搜索关键字,由于执行速度慢,故注释掉
% doc mean    % 装入超文本说明,载入帮助,由于要弹出帮助文档,故注释掉
% disp(
' <a href="matlab:doc mean">to Mean Help</a>')
% flops     % 浮点运算次数
% nargin    % 函数输入变量数
% nargout    % 函数输出变量数
% why     % 简明的答案(我没有明白什么意思)
%
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   2   ++++ 输入一些测试数据 ++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    format 
long     % 格式化显示为长字
%
% 输入矩阵,“,”与空格等价,“;”为换行,即行的终点
% 用Matlab函数和内置常量产生
    m
= magic( 3 )    % 魔方矩阵
    p
= pi     % 圆周率
    o
= zeros( 2 , 5 )    % 零矩阵
    one
= ones( 2 , 5 )    % 全“ 1 ”矩阵
    yi
= eye( 3 )    % 单位矩阵
    rd
= rand    % 均匀分布的随机数矩阵
    rn
= randn    % 正态分布的随机数矩阵
%
% 笔者输入的一些矩阵,下面将用到它们
%
    v
= [ 11 , 12 , 0 , 14 ; 0 , 22 , 23 , 24 ; 31 , 0 , 33 , 34 ]
    w
= [ 0 : 7 : 30 ];    % 矩阵后的分号使得该矩阵隐藏显示
    x
= [ 11   12   13   0 ;
        
0   22   23   0 ;
       
31      0   33   0 ;
     
5.123456789   - 5   6   0 ]
    x1
= [ 4 , 3 , 0 ]    % 创建两个向量
    x2
= [ - 3 , 4 , 0 ]
    y
= 4 + i + 2 * j    % i,j为虚数单位
    z
=- 6.818 ;
    q
= [z,pi, 5.51 ,v( end )] % v( end )取v矩阵的最后一个数
    format short
    q
'      % “'”为转置
%
% 变量名、存储变量、删除变量、装载变量
%
    who     % 列出工作区中所有变量名
    whos     % 列表显示工作区中所有变量具体信息
    exist a    % 检查a变量或函数是否存在,是为1,否为0
    save allval     % 保存变量为allval.mat,也可空格接变量名保存指定的变量
    save valtxt.txt 
- ascii% 保存变量为valtxt.txt
    clear     % 从内存中清除变量和函数,后可以接变量名
    load(
' allval.mat') % 从磁盘文件中恢复变量
    delete( ' allval.mat') % 删除文件allval.mat
%
++++++++++++++++++++++++++++++++++++++++++++++++++
+   3   ++++ 矩阵 ++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++
%
% 除了知道魔方阵和范德蒙矩阵外,别的都不太清楚,故而注释掉
% compan    % 友矩阵,“未
*
% hadamard    % Hadamard 矩阵,“未
*
% hankel    % Hankel 矩阵,“未
*
% hilb     % Hilbert 矩阵,“未
*
% invhilb    % 逆Hilbert 矩阵,“未
*
% magic     % 魔方矩阵
% toeplitz    % Toeplitz 矩阵,“未
*
% vander    % Vandermonde 矩阵,“未
*
% cond     % 计算矩阵条件数,“未
*
% norm     % 计算矩阵或向量范数,“未
*
% rcond     % Linpack 逆条件值估计,“未
*
%
3.1  矩阵的计算、排列和旋转 =======
%
    det(m)    % 计算矩阵行列式值
    sum(m)    % 对m矩阵求和
    min(m)    % m矩阵每列的最小数
    max(m)    % m矩阵每列的最大数
    [s,id]
= sort(m) % 升序排列m矩阵,排列后赋给s,原址赋给id
% sortrows    % 按升序排列行
    diag(w)    % 建立和提取对角阵
    fliplr(x)    % 矩阵作左右翻转
    flipud(x)    % 矩阵作上下翻转
    rot90(v)    % 矩阵旋转90 度
'       % 矩阵的转置
    reshape(v, 2 , 6 ) % 改变矩阵大小
    tril(v)    % 提取矩阵的下三角部分
    triu(v)    % 提取矩阵的上三角部分
    any(x)    % 向量的任一元为真,则其值为真
    all(x)    % 向量的所有元为真,则其值为真
    find(w)    % 找出x的非零元素的索引号
%
3.2  矩阵性质 ===============
%
    rank(m)    % 计算矩阵秩
    trace(m)    % 计算矩阵的迹
    eig(m)    % 求特征值和特征向量
    poly(m)    % 求特征多项式
    hess(m)    % Hessberg 形式
% qz      % 广义特征值,“未
*
    
null (x)    % 零矩阵
    orth(x)    % 正交化
    pinv(m)    % 矩阵伪逆
%
3.3  矩阵分解 ===============
%
    X 
=  pascal( 5 )    % 帕斯卡矩阵
    chol(X)    % Cholesky 分解
    lu(m)     % 高斯消元法求系数阵
    inv(m)    % 矩阵求逆
    qr(m)     % 正交三角矩阵分解(QR 分解)
    schur(x)    % Schur 分解
% gdf2rdf    % 变复对角矩阵为实分块对角形式,“未
*
% balance    % 矩阵均衡处理以提高特征值精度,“未
*
%
%
    corrcoef(v)    % 计算互相关系数
    cov(x)    % 计算协方差矩阵
    geomean(v)    % 计算样本的几何平均值
    harmmean(m)    % 计算样本数据的调和平均值
    iqr(v)    % 计算样本的四分位差
    kurtosis(v)    % 计算样本的峭度
    mad(v)    % 计算样本数据平均绝对偏差
    mean(m)    % 计算样本的均值
    median(m)    % 计算样本的中位数
    range(x)    % 样本的范围
    skewness(v)    % 计算样本的歪度
    std(v)    % 计算样本的标准差
    var(v)    % 计算样本的方差
% moment     % 计算任意阶的中心矩,没有研究或没有研究通它的用法下简称“未
*
% prctile    % 计算样本的百份位数,“未
*
% trimmean    % 计算包含极限值的样本数据的均值“未
*
%
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   4   ++++ 数学函数 ++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    size(x)    % 矩阵x的尺寸
    length(x)    % 向量x的长度,矩阵的行数
    
tan ([p p / 3  p / 4  p / 6 ]) % 正切
    atan(x)    % 反正切
    
fix (q)    % 朝零方向取整,整数部分
    floor(q)    % 朝负无穷大方向取整
    ceil(q)    % 朝正无穷大方向取整
    
round (q)    % 朝最近的整数取整
    
rem (9,4)    % 除后取余
    sign(z)    % 符号函数
    factor(
210 )    % 质因子
%
    
abs (z)    % 绝对值
    
abs (y)    % 复数的模
    gcd(
12 , 15 )      % 最大公因数
    lcm(
12 , 15 )    % 最小公倍数
% conv2     % 二维卷积,摄影测量要用到卷积
% conv      % 卷积和多项式乘法  
%
% 向量 
---
%
    dot(x1,x2)    % 向量点集
    cross(x1,x2)     % 向量叉集
%
% 复数
    real(y)    % 复数实部
    imag(y)    % 复数虚部
    angle(y)    % 复数的辐角
    conj(y)    % 共轭复数
%
% 对数指数
    
exp (m)    % e的x次幂
    
log (m)    % e为底的对数
    log10(m)    % 10为底的对数(也叫常用对数)
    sqrt(x)    % x的平方根
%
%
% 数据类型转化
===========
%
    strx
= num2str(x) % 变数值为字符串
    mm
= int2str(m)    % 变整数为字符串
    numx
= str2num(strx) % 变字符串为数值
%
% 数制转化
% hex2num    % 变十六进制为IEEE 标准下的浮点数
% hex2dec    % 变十六制数为十进制数
% dec2hex    % 变十进制数为十六进制数
%
% 下面告诉你一个不用查t分布表就可以知道相应值的函数
    icdf(
' t',0.95, % 续行
      20 )    % 自由度为20的t分布95%下分位数,即t分布表中n = 20 ,a = 0 .05对应的值
    icdf(
' t',1-0.10,8)     % 查t分布表中n=8,a=0.10对应的值
%
% 简单的绘制平面图
    x_ 
=   - pi:. 1 :pi;
    y_ 
=   sin (x_);
    plot(x_,y_)
    
set (gca, ' XTick',-pi:pi/2:pi) % 设置X轴的刻度
     set (gca, ' XTickLabel',{'-pi','-pi/2','0','pi/2','pi'}) % 标定X轴的量数
    xlabel( ' -/pi /leq /theta /leq /pi')
    ylabel( ' y=sin(/theta)')
    title( ' Plot of y=sin(/theta)')
    text( - pi / 4 , sin ( - pi / 4 ), ' /leftarrow sin(-/pi/4)',
        ' HorizontalAlignment','left')
     set (findobj(gca, ' Type','line','Color',[0 0 1]),
       ' Color','red',
       ' LineWidth',2)
%
%
    figure(
2 )
    t 
=   0 :pi / 10 : 2 * pi;
    [X_,Y_,Z_] 
=  cylinder( 4 * cos (t));
    subplot(
2 , 2 , 1 ); mesh(X_)
    subplot(
2 , 2 , 2 ); mesh(Y_)
    subplot(
2 , 2 , 3 ); mesh(Z_)
    subplot(
2 , 2 , 4 ); mesh(X_,Y_,Z_)
%
%
%
    % reply 
=  input( ' Do you want more? Y/N [Y]: ', 's');
    %  if   isempty (reply)
    %      reply 
=   ' Y';
    %  end
%
% 注意:与C语言的switch语句不同的是,MATLAB的switch是不会落空的。
% 如果情形1是真,则其他语句不执行。因此,不需用break语句。
    n
= input( ' 请您输入一个正整数:')
     if   isempty (n)
       n 
=   5
    
end
    switch 
rem (n,3)
       case   0
         disp(
' 你输入的数除以3的余数为:0')
       case   1
         disp(
' 你输入的数除以3的余数为:1')
       case   2
         disp(
' 你输入的数除以3的余数为:2')
      otherwise
         
error ( ' 错误!!请检查数据是否合法')
     end
%
%
%
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值