MATLAB

基本概念

- 在结尾加; 结果不显示 - 黄金分割比: - clc清屏 - clear清空数据 - clf清除图表 - a=[ ; ; ] 生成数列 行与行之间用 ; 隔开 - pathtool指定默认路径 - syms 是定义符号变量 - ans会保存未初始化的结果

  • ans(:,:,1) 冒号表示任意列 A=[ 1 2 3 4 5 6 7 8 9] 读取第 2 列 A( :, 2) 读取[8 9] A(3,[2:3]) 读取[5 6 8 9] A([2:3],[2:3])

读写画

读图片

1
2
h=imread('a.jpg');
image(h)

读文件

xlsread(文件名,表n,sheet) xlswrite(文件名,矩阵名) cell2mat() 转置数据 sort() 排序 ### 写 #### 写入图形

1
saveas(gcf,'test.jpg')

画图

plot

golden_spiral 黄金螺旋 - edit golden_spiral 编辑文件 - format long 设置类型 - plot(x,y,)画图工具

1
2
3
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

  • r是换颜色
  • hold on 保存图表
  • hold off 取消保存

绘图函数 dot2dot

dot2dot(y)

设置

  • axis off 关闭坐标轴
  • axis(x,y) 限制x,y的范围
  • axis equal 让x轴和y轴坐标距离相等
  • xlabel() 显示x轴的标签
  • title() 显示标题
  • legend() 显示图列 图形对象gcf get( gcf) 获取对象的属性 set(gcf,color,red) 设置属性的属性

ezplot跟plot的区别

    • plot绘制图形时要指定自变量的范围,而ezplot无需数据准备,直接绘出图形。
      1
      2
      3
      sys x
      y = x^2x1
      ezplot(y)
  • disp() 输出

日期与时钟

日期时间的三种表示及相互转换

  1. 日期数字(num)、日期字符串(str)、日期向量(vec)
  • now
  • date
  • lock mark
  1. 转成“日期数字”(双精度)
  • datenum() mark
  1. 转成“日期字符串”
  • datestr() 转为字符串
  1. 转成“日期向量”
  • datevec() mark

其它常用的日期函数

1.[d w]=weakdate(日期数字或字符串) 2.eomday(年,月) %返回一个月的最后一天 3.calendar(年,月) %任何一个月的月历 4.tic命令或程序tok%tick-tock 嘀哒声。 Tic 启动一个秒表,toc 停止这个秒表并计算出所经历的时间。 5.cputime %MATLAB 启动之后所占用的 CPU 时间。

方程

三种求方程的办法

roots 是多项式根

此 MATLAB 函数 以列矢量的形式返回 p 表示的多项式的根。输入 p 是一个包含 n+1 多项式系数的矢量,以 xn 系数开头。0 系数表示方程中不存在的中间幂。例如:p = [3 2 -2]代表多项式3x^2+2x-2

所以x1 = roots([1 -1 -1]) 等于 x1 = x^2-x-1

fsolve是采用最小二乘法来求解非线性方程。

它的一般求解方式为: X=fsolve(fun,X0,options) mark 其中,fun是要求解的非线性方程,X0是变量初值,options由optimset函数产生的结构体,用于对优化参数的设置,可以省略(采用默认值)。 所以 f = @(x)-sqrt(1+x),p = @(x)x^2-x-1 Fslove(f,1) 表示初始变量x=1,时f()方程的解 #### syms syms 是定义符号变量,solve()内可直接输入函数(在matable中使用)

1
2
solve('x^2-x-1')
solve('x-sqrt(1+x)=0')

矩阵

矩阵的同行元素之间用空格或逗号 行与行之间用分号;或回车 #### zeros(i) i阶矩阵 mark - zeros(3, 4, 5)生成全零矩阵 #### ones( ) 全1矩阵 mark #### eye( ) 生成单位矩阵 生成对角矩阵 mark #### magic() mark #### rand() mark #### [K,J]=ndgrid( : ) mark