1.matlab文件保存的路径需要和matlab程序在一起,否则无法运行,我统一保存在D:\Program Files\MATLAB\R2023b\bin路径里面
2.命令行窗口本质是实时交互的计算器,可以在命令行窗口里面做简要运算验证什么的;
清楚命令行窗口用clc,而clear all 把工作区的临时变量全部清除了
3.matlab变量名区分大小写,变量名必须以字母开头
4.调用工作区:在Matlab的命令窗口中输入"workspace"或"workspace('path')",其中'path'是您需要调出的工作区的路径。按下回车键后,Matlab将显示您所选工作区中的所有文件和文件夹列表
5.a=2 和 a=2; %后面分号导致命令行窗口不显示a=2
6.sin(x)输入参数为弧度,sin(90°)应该输入sin(90/180*pi)
exp(x)——函数e^x
变量名不要和内置函数重名
pi=4
y=sqrt(pi)
clear pi%清除局部变量pi
whos%
7.两个通用函数
8.三个数学运算* ^ / 可以加点号 .* .^ ./ ,实现矩阵内各数字单独运算
%定义递增行向量
x=0:10
size(x)
y=2.*x
w=y./x
z=sin(x)%不能点号,之间对矩阵x内个数字进行sin(xi)运算后形成新矩阵
9.换坐标颜色;画几条曲线在一张图里面;在一幅图片里面按m*n矩阵显示多张图
%whitebg(c) 和 whitebg(fig,c) 将作为图窗子级的坐标区的颜色更改为由 c 指定的颜色。c 的值可以是颜色名称或 RGB 三元组。可能的颜色名称有:'red'、'green'、'blue'、'cyan'、'magenta'、'yellow'、'black' 或 'white'。RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。
whitebg([0 .5 .6])%将背景色设置为蓝灰色。
whitebg("white")%白色
subplot(2,2,1)
x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
plot(x,y1,x,y2)
subplot(2,2,4)
g=9.81;u=60;t=0:0.01:12.3;
s=u*t-g*t.^2/2 %t是一个矩阵,对矩阵各数字运算要加点号
plot(t,s,'black','LineWidth',1,'MarkerEdgeColor','none')
10.在图中插入文字
gtext('text what u want')
text(x1,y1,'text')
xlabel('horizon
tal')
ylabel('vertical')
11.function函数两种定义
function [y1,...,yN] = myfun(x1,...,xM) 声明名为 myfun 的函数,该函数接受输入 x1,...,xM 并返回输出 y1,...,yN。此声明语句必须是函数的第一个可执行代码行。有效的函数名称以字母字符开头,并且可以包含字母、数字或下划线。
您可以将函数保存在以下位置:
(1)只包含函数定义的函数文件中。文件的名称须与文件中第一个函数的名称一致。
(2)包含命令和函数定义的脚本文件中。函数必须位于该文件的末尾。脚本文件不能与文件中的函数具有相同的名称。R2016b 或更高版本的脚本中支持函数。
文件可以包含多个局部函数或嵌套函数。为提高可读性,可使用 end 关键字来表示文件中每个函数的末尾。以下情况下需要 end 关键字:
文件中有任意函数包含嵌套函数。
该函数是函数文件中的局部函数,并且文件中有局部函数使用 end 关键字。
该函数是脚本文件内的局部函数。
若为单输出函数:
PS: sum(X) 是向量X的元素的和;如果X是一个矩阵,S是一个行向量(每一列的元素之和组成)。
S = sum(X,DIM):沿着某个维度来求和。>>sum(x,1)就是按列求和,生成一个行向量;sum(X,2)就是按行求和,生成一个列向量;sum(X,3),这里只要DIM大于等于3,得出来的结果都是X本身,因为平常用到的矩阵都是二维的(三维情况不同)。
Q:这里的sum(x(:))和sum(x)有什么区别???
ok ,查到了
若函数为多输出(y1,y2,,,,,,):
12. 向量叠加,直接接在上一个向量的后面
a=[1 2 3]
b=[4,5]
c=[a -b] %c=[1 2 3 -4 -5]
13.初始化向量
x=1:10
x=1:0.1:10
神奇的是下面的,它似乎不在乎终值
PS:在学习的时候注意到x(1,:)和x(:,1)返回不一样
原因可回溯到矩阵表达x(i,j)表示第i行第j列
then,x(a:b,c:d)表示“矩阵x的第a行到第b行、第c列到第d列的所有元素”,例如:
然后,如果把“a:b”或者“c:d”换成“:”的话则表示所有行或列,例如:
欧克,闭馆了,明天看看optimization到底怎么搞