Matlab基础学习

rand(m,n):随机生成m行n列的在(0,1)的均匀分布的伪随机数
randi(iMax,m,n):随机生成在(0,iMax)中均匀分布的随机整数
randn(m,n):随机生成在(m,n)中标准正态分布的随机数

元胞数组:

A=cell(1,6)       %一行六列(matlab索引从1开始)
A{2}=eye(3)     %eye(n)是n阶对角线为1的单位矩阵
A{5}=magic(5)  %幻方矩阵:行、列、对角和相同

矩阵操作

%1.矩阵定义与构造

A=[1 2 3 4 5 6 7 8 7]
B=1:2:9    %初始值、步长、终止值(步长不能省略)
C=repmat(B,3,1)     %重复B三行一列
D=ones(2,4)            %构建二行四列的全为1的矩阵,类似zeros

B
C
D

矩阵的四则运算

A=[1 2 3 4;5 6 7 8]
B=[1 1 2 2;2 2 1 1]
C=A+B      %对应位置相加
D=A-B         %对应位置相减
E=A*B'         %A*(B的转置)
F=A.*B          %对应位置相乘
G=A/B           %G*B=A   G*B*pinv(B)=A*pinv(B)    G=A*pinv(B),相当于A乘B的逆
H=A./B           %对应位置相除

结构体

books=struct('name',{{'Machine Learning','Data Mining'}},'price',[30,40])
books.name  %'Machine Learning','Data Mining'
books.name(1)   %'Machine Learning'
books.name{1}   %Machine Learning
%注意()与{}取出来的单位不同,()取出来单位为cell,而{}取出来为字符串的值

程序结构

1.顺序结构
2.循环结构
2.1for…end
步长默认为0,可以省略。初值、步长、终值可以是正数也可以是负数,还可以是整数和小数,符合数学逻辑即可。
for循环结构
for循环也可以嵌套使用
2.2while
3.分支结构
3.1 if-end
if-else分支结构
3.2 if…else…end

                                      if  表达式
                                          语句体1
                                      else
                                         语句体2
                                   end

3.3 switch…case…end
该结构是通过与某个表达式的值进行比较,根据比较的结果做不同的选择,实现程序的分支功能
switch结构
otherwise可省略不写,如果没有则case都不满足时,跳出分支结构。switch与end必须配对使用

基本绘图

1. 二维平面绘图

%后为注释
%1.二维平面绘图
x = 0:0.01:2*pi %定义x的范围,第二个参数表示步长
y = sin(x)
figure %建立一个幕布
plot(x,y) %绘制当前二维平面图
title('y = sin(x)') %标题
xlabel('x') %x轴
ylabel('sin(x)') %y轴
xlim([0 2*pi]) % x坐标值的范围

画图结果
颜色描述
线型、标记点
例子2

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
figure
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot'); %共用一个x的坐标系,在y上有不同的取值
%设置相应的标签
set(get(AX(1),'Ylabel'),'String','Slow Decay')
set(get(AX(2),'Ylabel'),'String','Fast Decay')
xlabel('Time(\musec)')
title('Multiple Decay Rates')
set(H1,'LineStyle','--')
set(H2,'LineStyle',':')

例子2结果图

2. 三维立体绘图

%2.三维立体绘图
t = 0: pi/50: 10*pi;
plot3(sin(t),cos(t),t)   %三维绘图
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
%hold on %当前轴和图像保持不被刷新,准备接受此后绘制的图,多图共存。即后绘制的图添加在此图的基础上,自动调整坐标轴的范围
%hold off %不保留当前操作,新图出现时,取消原图。即关闭图形保持功能
grid on %把图片绘制出来,在图片中加一些网格线
axis square %使整个图(连同坐标系)呈方体

三维绘图
双峰函数绘图

[x,y,z] = peaks(30); %peaks命令用于产生双峰函数或者是用双峰函数绘图
mesh(x,y,z)
grid

双峰函数绘图

图形窗口分割

x=linspace(0,2*pi,60)
subplot(2,2,1)     %把幕布分为二乘二的四块,画在第一块
plot(x,sin(x)-1)
title('sin(x)-1');
axis([0,2*pi,-2,0]
subplot(2,1,2)    %将幕布分为二乘一的两块,画在第二块
plot(x,cos(x)+1)
title('cos(x)+1');
axis([0,2*pi,0,2]
subplot(4,4,3)    %将幕布分为四乘四的十六块,画在第三块
plot(x,tan(x))
title('tan(x)')
axis([0,2*pi,-40,40])
subplot(4,4,8)    %将幕布分为四乘四的十六块,画在第八块
plot(x,cot(x))
title('cot(x)');
axis([0,2*pi.-35,35])

第一个分割图
图窗分割效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值