学了python学matlab,Matlab学习-基本介绍

Get Start

help 最重要的功能

help sin 得到sin功能的介绍

doc sin 具体介绍和例子

docsearch sin trigonometric 根据特定的关键词查找文档

Script

按照顺序执行的指令集合

再matlab editor中编写

保存为.m文件

创建方法

edit MyFileName.m

或者单击创建新脚本在工具栏的左上方

注意事项

%后面跟着的都是注释

程序刚开始的连续的%一般作为程序的帮助文档

%%两个作为代码块的开始,再来一个%%作为结束,可以分代码块单独运行

c4febb0640cc7a1a617af65aec289a57.png

脚本某种程度上是静态的,没有显示的输入和输出

所有在脚本中创建或修改的变量在程序运行后也会保存他们的值

练习

创建一个脚本,helloWorld.m

运行显示“hello word”

提示:

disp - 显示变量的值

此 MATLAB 函数 显示变量 X 的值,而不打印变量名称。显示变量的另一种方法是键入它的名称,这种方法会在值前面显示一个前导X =。

disp(X)

%% hello world

disp('hello world')

%%

Make Variables

MATLAB是弱定义的语言,变量不需要初始化

变量可以是向量,double,char,matrices(矩阵)

其他的也支持,uint8,uint16等等

Name Variables

跟python一样

myVariable1 = 1.0

myString1 = 'hellow word'

首字符必须是字母

大小写区分

后面可以是数字

Built-In variables

i,j用来虚构单位,用于复杂数学的代码,循环可以用ii,jj代替

pi用来表示3.1415

ans用来存上一次未分配的值

Inf,-Inf无限

NaN不是一个数

Scalars标量

直接赋值a = 10 不加分号结尾就直接显示在工作区了

显式值和存在值的变量的公式赋值也可以

抑制输出可以结尾处分号:c = 12/3;

Arrays数组

数字矩阵,doule或者complex(复数)

cell array of objects(更高级的数据结构),网格数组

row vectors行向量

用空格或者,来隔断

○ row = [ 1 2 3.2 4 6 5.4 ];

○ row = [ 1, 2, 4, 7, 4.3, 1.1 ];

9b5cc4381b9502e68baeb88ba893b976.png

column vectors列向量

用分号来隔断

○ col = [ 1; 2; 3.2; 4; 6; 5.4 ];

size和length

size(col),col向量的大小,输出两个数,几行几列

length(col),col向量的长度,输出一个数,多少元素

Matrices矩阵

780721af140069a2deca8c02fbb57fec.png

save/clear/load保存,清除,加载

○ save myFile a b

保存变量a b到myFile文件里

会保存到当前的文件夹,生成一个myFile.mat文件

○ clear a b

清除a b变量,会从工作区消失

○ load myFille

myFile里寸的变量回到了工作区

练习1

77c3eca4152327f80a2a0dd381d49def.png1. start = clock()

706a0b22c687a9a8062249b4cf95a118.png

用isrow(start)可以看出来是否是行向量,是

datestr(start)

f25dafe6ae396bd41897250b99bf9fde.png

练习2

55b9e70b7a0ca1c20aaa2f03a30a84ad.png

%% use variable file

load time.mat;

complete_str = ['learn matlab at ',date_str];

disp(complete_str)

%%

Manipulate Variables操作变量

Baisic Scalar Operations

算数运算

取幂运算3^2

Built-in function内置函数

○ sqrt(2)

○ log(2), log10(0.23)

○ cos(1.2), atan(-.8)

○ exp(2+4*1i)

○ round(1.4), floor(3.3), ceil(4.23)

○ angle(1i); abs(1+1i);

练习

e148c1433798bf0089dd2eab2f69850b.png

%% calu seconds of 1.5 days

tau = 1.5 * 24 * 60 * 60;

disp(tau)

endOfClass = 5 / 1.5 * tau;

disp(endOfClass)

k = 1-exp(-tau/endOfClass);

disp(k)

%%

transpose转置

○ a = [1 2 3 4+i]

○ transpose(a)

○ a’

○ a.’

addition and subtraction加法和减法

size要匹配,就是元素行列要一样,除非有一个是标量。

用转置的方法,先转置再相加

● c = row.’ + column

● c = row + column.’

计算向量的总和

● s=sum(row);

计算所有元素相乘

● p=prod(row);

element-wise function元素形式的函数

t = [1 2 3];

f = exp(t);和f = [exp(1) exp(2) exp(3)]是一样的

点运算就是元素之间的运算,矩阵要注意行列数相同,除非是标量。

a = [1 2 3];

b = [2 3 4];

a.*b代表a中的元素对应相乘

a./b还有a.^b

operators

0871d1eae1362612545c1308d6cd7614.png

Automatic initialization自动初始化

初始化一个线性向量的值用linspace

a = linspace(0,10,5);

从0开始,10结束,5个值

可以用:操作符

b=0:2:10

从0开始,每增加2,10结束

增量可以是小数也可以是负数

c=1:5

从1开始,默认增加1,5结束

初始化全是1,全是0,或者随机数

o = ones(1,10);行向量,10个元素,都是1

z = zeros(20,1);列向量,20个元素,都是0

r = random(1,45);行向量,45个元素都是随机值

Vector indexing向量序号

matlab排序从1开始,不是从0

a(n)返回第n个元素

Matrix indexing矩阵序号

两种方法

subscript下标

linear indices

186aa8f0d99c550fbd3e3960320b6f04.png

高级序号

743f79e7decd8809b36dff90920fa61c.png

d37f56ef08f94ed5c4479f51879d2c71.png

Basic Plotting

plot可以生成每个(x,y)点,然后用线连接这些点

x,y向量的size必须一样,否则会报错

x=linspace(0,4*pi,1000);

y=sin(x);

plot(x,y);

861031b32435a0c6d2e02090423894ec.png

原文链接:https://blog.csdn.net/weixin_38428827/article/details/109010075

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值