matlab基础操作快速上手教程
标签: matlab
matlab类似与python不用声明可以直接对变量赋值
1.基本语句
语句 | 作用 | 备注 |
---|---|---|
; | 如果不想每一步都输出则在语句后加 ; | |
disp(sprintf(“%0.2”,a)); | 会输出保留两位小数的a | disp是输出字符串的函数 |
who | 可以获得当前状态的变量 | |
whos | 可以获取变量与数值大小 | |
load | 文件名将文件中的数据读取进来 | |
save hell.txt v -ascii | 可以将变量v以ASCII码形式保存到hello.txt文件中 | |
clear | 可以清除单一变量或者所有变量 |
2.生成矩阵
示例 | 作用 | 备注 |
---|---|---|
v=[1,2;3,4] | 生成矩阵时用数组,不同行在之间加; | |
v=1:0.5:6 | 生成一行1到6的1*12的矩阵 | 以0.5为间隔 |
b=one(1,3); | 生成一行三列的全为1的矩阵 | |
v=randn(1,3) | 生成一行三列的随机矩阵 |
|I=eye(5);|可以生成5*5的单位矩阵|
| sz=size(A)|可以返回一个二维的数组储存行和列|
|length(v)|可获得最大维度|返回行或者列较大的
|A(2,3)|返回A二行三列的数值|
|A(2,:)|表示A第二行的所有元素|
|C=[A B]|将A与B直接连起来赋值给C|
| v= x(1:10)|将x的1-10个元素赋值给v|
|v’|表示
vT
|
|sum(A)|求A每一列的最大值|
|inv()与pinv()|逆矩阵|inv(a)*b换作a\b效率更高
|.*|乘运算,是指两个矩阵中对应元素进行乘法运算。|要求两矩阵的维数相同
|*|矩阵乘法,A为m*n维矩阵,B为n*p为矩阵,则A*B为m*p维矩阵|
3.图形命令
示例 | 作用 | 备注 |
---|---|---|
hist(b,50) | 命令可以生成50列的直方图 | |
plot(t,y) | 用plot生成t为x轴,y为y轴的函数图像 | t=[0:0.01:1],y=sin(2*pi*t) |
hold on | 保留图像并且在该图像上继续生成另一副函数图像 | plot(t,y),hold on ,plot(t,y2); |
xlabel(‘time’) | 可以生成x轴与y轴的标记 | |
legend | 可以标记出不同函数的颜色 | |
title(”) | 可以生成标题 | |
print -dpng ‘名称’ | 可以在当前目录生成类型的图片 | |
figure | 可以生成一个图形窗口,通过figure 可以生成多个图形窗口 | |
subplot(1,2,1) | 可以将图形窗口分为1*2的部分,并使用第一个部分 | |
axis([0 1 -1 0]) | 可以设置x轴范围为0-1 ,y轴范围为-1~0 | |
imagesc(A) | 可以生成矩阵的图像 | |
colorbar,colormap gray | 生成灰度矩阵图像 | 配合上一个函数使用 |
, | 用,分隔不同语句依次执行多个语句 |
4.循环分支语句
for语句
for i=1:10,
v(i)=2^i;
end;
或者定义indices=1:10;
while语句
while i<5,
v(i)=100;
i=i+1;
end;
i=0;
while true,
i=i+1;
if i==1,
disp("i==1");
elseif i==2,
disp("i==2");
else
break;
end;
end;
5.关于函数
先声明在文件中
function [y1,y2]=square(x)
y1=x^2;
y2=x^3;
调用:[a,b]=square(5);
调用的时候需要修改路径到该文件中,或者添加路径addpath('C:\Users\allen\Desktop\matlab')