重读MATLAB入门读物,发现很多遗忘的简单函数与技巧(二)——常用数学函数、控制结构、二维、三维作图

序言

紧接上次的学习内容,继续对MATLAB的入门知识进行学习,记录曾经学习及使用路上的遗漏之处。

常用数学函数

三角函数以及各种最小值、最大值、求和、开平方函数等等常用的函数,自然是以及了解的非常透彻了,这里说一下在应用中,忘记的一些常用函数。

exp(x)——指数函数

指数函数自然是直接用这个内置函数比较快,返回结果就是e的x次方,e的值约为2.71828,当然这个值默认的e是没有预定义的,但是函数里面有,所以直接拿来用就好了。

log(x)——自然对数
log10(x)——以10为底的对数

以上两个对数函数也是常用的,但是很长时间没用了,有点陌生的感觉了,也摘出来用用。

sign(x)——符号函数

乘除法的时候,用来直接取符号还是很方便的,不需要再用控制结构语句来写了。

有关控制结构的一些用法

简单的条件分支不用说了,循环也都很简单,这里说一下集中for循环的注意点。

for 循环变量=表达式1:表达式2:表达式3

循环语句
end

很强,我之前都忘记表达式2了,只用表达式1和表达式3,还多话时间做了额外的处理。

此外,for语句之后还可以接矩阵或者向量

对于矩阵或者向量,我们都是按照列来取出其中的元素,然后利用取出的元素,来执行循环语句。
————注意,一定是按照列来取。

MATLAB的文件处理

M文件、M函数文件、图片文件、数据文件这些如果用过几年的话,想想都不会陌生了,几乎没有可以遗漏的地方,如果不熟悉的话,大概就是外部文件的写入与文件读入的问题了,可以直接查看相应的博客进行学习,我已经学习过了,没有问题,hhhhhhhh。

作图

二维作图

plot——针对向量或矩阵的作图

这是最常用也很好用的简单二维作图函数。

几个常用命令
xlabel,ylabel

坐标轴标签函数

title

在图的上方,添加标题

grid on/grid off

开始,关闭网格——看情况,有时候添加网格,会对数据呈现的很清楚。

text——在指定位置添加文本

重点来了,我用大一号的标题来表示,之前很少添加,有点忘记这个函数了,特在此警醒自己。

axis——控制x坐标与y坐标的范围

也很少用,因为MATLAB里面,会自己限制好合适的范围。

那不合适的时候,怎么办呢?拖动,到适合位置就好了,哈哈。

列出来,不知道的去学习一下,有时候也很方便,比如实现可以预料作图效果,想要得到某种特定样式的图像的情形。

附上一段练习代码

x=linspace(-pi,pi,1000);
y=sin(x);
plot(x,y,'g-');
hold on
grid  on
xlabel('x');
ylabel('sin(x)');
title("y=sin(x)在[-pi,pi]上的图像");
text(0,0,'(0,0)');
legend("sin(x)");

做出的图像如下:
在这里插入图片描述

重点来了,常用的一些图像标志(最常用烂熟于心的直接略过,列出较常用,而又容易忘记的),很多标记,不好记忆,在此列出。
颜色

g —— 绿色
c —— 青色
m ——紫色
k —— 黑色(k居然是黑色)
w ——白色

点型符号

s —— 正方形
d —— 菱形
v —— 向下三角形
^ —— 向上三角形
< —— 向左三角形
> —— 向右三角形
p —— 五角星
h —— 六角形

线性符号

- —— 实线
: —— 点线
-. —— 点画线
– 虚线

除了plot作图外,还有其他的一些二维作图的函数

loglog——使用对数坐标系绘图
semilogx——横坐标为对数坐标系
semilogy——纵坐标为对数坐标系
polar ——极坐标图
bar —— 直方图
errorbar —— 误差棒图
pie —— 饼图
hist——统计直方图

上述都是一些常用的二维作图命令,可以根据需要,来选择不同的作图命令,绘制不同的图像,二维作图命令简单,只要肯花点时间,不会有太大的问题,上述列出的命令,如果有不懂的,可以去学习一下,避免用到时手忙脚乱。

其实不肯花时间去看也没关系,你只需要知道什么命令是做什么图像的,然后用help来查看,或者直接搜索一下相应的函数名称,就可以直接具体的用法了。

三维作图

plot3作图

比plot多了一维,其余的很多东西,都可以继承plot

figure
t=0:pi/100:10*pi;
x=sin(t);
y=cos(t);
z=t;
plot3(x,y,z,'k.-');

在这里插入图片描述
在这里插入图片描述

mesh、surf与meshgrid

三维网格图示例

figure
grid off
[x,y]=meshgrid(-pi:0.1:pi);
z=sin(x).*sin(y);
surf(x,y,z)

在这里插入图片描述

结束语

入门读物到这里就看完了,笔记如上,学到了不少东西,最大的收获还是,对MATLAB的整体框架有了一个很好的把我,对很多可以灵活实现的函数进行了相应的学习,以后有机会,会继续深入的学习MATLAB,也会将其他所学的知识,进行重新学习与整理,有什么不足之处,若能指出,感激不尽。

愿你我,共同进步。

全部代码如下
clear
clc

format long

exp(1)
log(1)
log(2.71828)
% 厉害了
log(exp(1))

log10(10)

sign(-1)
sign(-10)
sign(0)
sign(4)

for i=1:2:10
    i
end

x=[1,2,3]
for k=x
    k
end

x=x'
for k=x
    k
end

x=[1,2;3,4]

for k=x
    k
end

x=linspace(-pi,pi,1000);
y=sin(x);
plot(x,y,'g-');
hold on
grid  on
xlabel('x');
ylabel('sin(x)');
title("y=sin(x)在[-pi,pi]上的图像");
text(0,0,'(0,0)');
legend("sin(x)");

figure
t=0:pi/100:10*pi;
x=sin(t);
y=cos(t);
z=t;
plot3(x,y,z,'k.-');
grid on

figure
grid off
[x,y]=meshgrid(-pi:0.1:pi);
z=sin(x).*sin(y);
surf(x,y,z)

猜你喜欢

转载自blog.csdn.net/qq_41563270/article/details/108357313