空间站 对接,做网站多钱,怎么做公司免费网站,怎么通过网站打广告MATLAB入门 基础操作变量命名数据类型逻辑和流程控制循环结构分支结构 绘图基本操作二维平面绘图绘图参数三位立体绘图图像窗口的分割 本文参考B站视频#xff1a;BV13D4y1Q7RS 由于我对于C语言很熟悉#xff0c;很多语法是会参考C来学 基础操作
清屏%% 清空环境变量及命令
… MATLAB入门 基础操作变量命名数据类型逻辑和流程控制循环结构分支结构 绘图基本操作二维平面绘图绘图参数三位立体绘图图像窗口的分割 本文参考B站视频BV13D4y1Q7RS 由于我对于C语言很熟悉很多语法是会参考C来学 基础操作
清屏%% 清空环境变量及命令
clear all %清除Workspace中的所有变量右侧工作区
clc %清除Command Window中的所有命令命令行窗口)注释%%
%查功能doc 你要查询的变量命名
变量命名规则
变量名区分大小写变量名长度不超过63位(MATLAB R2012a 32bit和64bit计算机上测试结果)变量名以字母开头可以由字母、数字和下划线组成,但不能使用标点变量名应简洁明了通过变量名可以直观看出变量所表示的物理意义
数据类型 数字 字符 sa %单引号表示字符串
abs(s) %输出s的ASCII码
char(97) %输出ASCII码对应的字符
num2str(65) % Number To Str输出字符数字65字符串 strI love MATLAB Machine Learning
length(str) %字符串长度矩阵 矩阵的定义与构造 %% 矩阵的定义与构造
A1 [1,2,3,4,5,6,5,4,6]
B1:2:9 %1-9隔1取值第二个参数为步长不可缺省
C repmat(B,3,2) %重复执行3行2列A2 [1 2 3; 4 5 2; 3 2 7] %3*3D ones(2,4) %生成一个2行4列的全1矩阵E zeros(10,5,3) %创建一个10行5列3维的全0矩阵% rand(m,n)生成m*n均匀分布的伪随机数,分布在0~1之间
% rand(m,n,double)生成指定精度的均匀分布的伪随机数参数还可以是’single’
% rand(RandStream,m,n)利用指定的RandStream随机种子生成伪随机数
F(:,:,1) rand(10,5) %10*5 % randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机数
% randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵
% randi([iMin,iMax],m,n)在开区间(iMiniMax)生成mXn型随机矩阵
E(:,:,2) randi(5,10,5)% randn生成标准正态分布的伪随机数均值为0方差为1
E(:,:,3) randn(10,5)矩阵的运算 %% 矩阵的运算
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
F A .* B % .*表示对应项相乘
G A / B %相当于A*B的逆
H A ./ B % ./表示对应项相除I A2 % A转置
J inv(A) % 逆矩阵数组下标 %% 数组下标
BA(2,3)
CA(3,:) %第三行
DA(:,4) %第四列
[m,n]find(A 20) %找符合()中式子的数字下标元胞数组 %% 元胞数组
A cell(1,6)
A{2} eye(3) %下标从1开始 eye(3)对角线为1的3*3矩阵
A{5} magic(5) % magic(5)5*5幻方矩阵
B A{5} %取A第5个cell结构体 %% 结构体
books struct(name,{{Machine Learning,Data Mining}},price,[30,40])
books.name
books.name(1) %取cell
books.name{1} %取字符串逻辑和流程控制
循环结构 for循环 %% for循环
语法格式
for循环变量初值:步长:终值步长可省略默认为1执行语句1...执行语句n
end%【例5-8】求1^22^23^24^25^2的和。程序设计为:
sum 0
for n 1:1:5sum sum n^2;
endsum 0;
for i 1:5p 1;for j1:ipp*j;endsum sum p;
endwhile循环 %% while
语法格式
while 条件表达式执行语句1...执行语句n
end% 【例5-11】求12345…10的和。
s 0
n 1
while n 10 %设置循环条件s snn n1
end%【例5-12】设计一段程序,求1100的奇数和程序设计为:
x 1
sum 0
while x101sum sum x;x x2
end分支结构 if…end %% if...end
语法格式
if 条件表达式...语句体...
endif…else…end %% if...else...end
语法格式
if 条件表达式语句体1
else语句体2
endswitch…case…end %% switch
switch 表达式(数值或字符串)case数值或字符串1语句体1;case数值或字符串2语句体2;...otherwise语句体n;
endswitch后面表达式的值为数值变量或字符变量,通过这些值与case后面数值或字符串的值进行比较,与哪一个 case的值相同就执行哪一个case下面的语句体,如果与所有case的值都不相同,则执行otherwise下面的语句体。otherwise语句可以省略,如果省略ptherwise,所有case都不满足时跳出分支结构,另外switch必须与end配对使用。
绘图基本操作
二维平面绘图
%% 二维平面绘图
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坐标值的范围绘图参数 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,:)三位立体绘图
%% 三维立体绘图
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 %使整个图连同坐标系呈方体图像窗口的分割
%% 图像窗口的分割
xlinspace(0,2*pi,60);
subplot(2,2,1)%用来给幕布分格表示将幕布均等分成2行2列将图形放到第一个格子中
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])