Matlab 入门01

常用函数

clc  //控制台清屏
clear  //工作区清屏
abs()  //绝对值 复数的模
sqrt()  //开方
mod()  //取余
exp() //指数函数
log() //底为e
log10() log2() 

矩阵

1.矩阵基础

1.1赋值运算符=和等号运算符==(和C一样)

1.2定义空矩阵

m=[];

1.3定义一个m*n的矩阵

p=[1 2 3] //行矩阵,分隔的话空格逗号都可以
q=[1;2;3] //列矩阵,分号表示换行
a=[1 2 3; 4 5 6] //二行三列矩阵

1.4使用冒号运算符生成矩阵

1:0.5:10 //从1到10间隔0.5
linspace(初始值,终值,点数默认100)
linspace(1,10,10)
1 2 3 4 5 6 7 8 9 10

1.5矩阵的拼凑和变形

m1=[1 2 3];
m2=[4 5 6];
[m1,m2] //显示 1 2 3 4 5 6 
[m1;m2] //显示 1 2 3
              4 5 6
reshape(m1,[3,1]) //把m1变成三行一列

1.6几个特殊矩阵

n=3;
eye(n) //单位矩阵,n是阶数
zeros(n) //全零矩阵,n是阶数
zeros(3,5) //三行5列的零矩阵
ones(n) //全一矩阵
ones(2,3) //两行三列全一矩阵
ones(5,5,3) //三维矩阵,行 列 页
//三维矩阵 应用:黑白图像是二维矩阵,彩色图像三维矩阵,RGB三个通道,每个通道都是一个二维矩阵

1.7随机数矩阵

rand(n) //n阶随机数矩阵
rand(3,5) //3行5列随机矩阵
randi(10) //生成一个在1到10之间的随机整数
randi(10,n) //n是阶数
randi(10,[3,5]) //3行5列
randn和randi用法一致,randi返回的值均匀分布,randn正态分布

2.矩阵运算 

2.1获取矩阵行列数

m=rand([3,5]);
z=size(m) //z=[3,5]

[row,col]=size(m) //row=3,col=5

2.2矩阵转置,逆矩阵

m的转置:m'
m的逆矩阵:inv(m)

2.3矩阵特征值,特征向量

m=randi(10,3);
eig(m) //特征值
[v,d]=eig(m) //v的每一列是与d对应的特征向量,d的对角线是特征值

2.4矩阵运算

a=[1 2; 3 4];
b=a;
a+b;a-b;     //加减
a*b;a.*b     //乘,矩阵相乘和每个元素相乘
a/b          //a*inv(b)乘b的逆矩阵
a./b         //对应元素相除
a\b          //inv(a)*b,求Ax=b的解
a^3          //a*a*a
a.^3         //对应元素乘方

2.5广播机制

a=[1 2; 3 4];
b=1;
a+b  //新矩阵的每个元素都加了一

2.6逻辑运算

a=[1 2; 3 4];
b=[2 1; 3 4];
a==b a>b      //对每个元素进行逻辑判断,真为1
a==1          //广播机制,每个元素都和1比
a.*(a>2)      //保留大于2的元素

3.矩阵索引

m=[1 2 3; 4 5 6; 7 8 9];
m(8)           //6,列方向检索,第8个位置
m([1,3,5])     //1 7 5,检索第1,3,5个位置
m=(2,3)        //第2行第3列的位置
m=([1,2],3)    //第1,2行的第三列的位置
m=([1,2],1:3)  //前两行的所有列

基本语句

1.变量类型和转化

1.1数值类型

a=1;      //数值类型都是double类型,分数值和数值矩阵
b=[1,2];  //可进行加减乘除逻辑运算

1.2字符串类型

s1="hello";
s2='world';
[s1,s2]; [s1;s2]  //字符串矩阵
s1+s2             //字符串拼接helloworld
s1+' '+s2         //hello world,字符串只能加

1.3字符串和数值的转化

str2num("5")+4      //字符转数字
num2str(2)+"hello"  //数字转字符
num2str(1/3,2)      //2是保留位数

2.输入和输出语句

value=input("请输入值:")  //输入数值或矩阵之后赋给value
string=input("输入名字:","s") //输入frank
string=input("输入名字:")   //输入"frank"
  
disp(value)    
disp("frank")  //输出字符串
disp(["hello",2])  //将多个字段转化成字符串矩阵输出"hello" "2"
disp(["1/3="+1/3])  //这样输出就能连起来了

3.运算符和if...else关系语句

3.1关系运算符

> < == >= <=
//非零True,零为False

3.2逻辑运算符

&与 |或 ~非
(1<3)&(3>4)

3.3if...else

if(1<2)
   disp("true");
end
value=input("输入一个数:");
if(value==1)
   disp("1不是质数也不是合数");
elseif(isprime(value))
   disp("是质数");
else
   disp("是合数");
end

4.For循环和While循环

for i=[1,3,5]
   disp(i);
end
//累加过程
sum=0;
for i=[1,2,3,4,5]//或for i=1:100
   sum=sum+i;
end 
disp(sum);
n=1;
while n<5
   disp(n);
   n=n+1;
end
continue;  //退出当前循环,继续执行下一个循环
break;     //退出整层循环
return;    //退出多层循环

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值