isfield(S, 'fieldname')
函数
判断结构体S
中是否包含名为fieldname
的成员(域)。
@
符号
创建函数句柄
通过在函数名称前添加一个@
符号来为函数创建句柄。
例如,如果您有一个名为 myfunction
的函数,请按如下所示创建一个名为 f
的句柄:
f = @myfunction;
使用句柄调用函数的方式与直接调用函数一样。
例如,假设您有一个名为 computeSquare
的函数,该函数定义为:
function y = computeSquare(x)
y = x.^2;
end
创建句柄并调用该函数以计算 4 的平方。
f = @computeSquare;
a = 4;
b = f(a)
feval()
函数
[y1,...,yN] = feval(fun,x1,...,xM)
evaluates a function using its name or its handle, and using the input arguments x1,...,xM
.
The feval
function follows the same scoping and precedence rules as calling a function handle directly.
feval
函数具有和 直接调用函数句柄 相同的作用域和优先级。
矩阵处理技巧
矩阵A
的行数size(A, 1)
,相应地,列数为size(A, 2)
; 本质是size()
的几种使用方式。
子函数
script里面不能有subfunction,只有在function里面才能有。
可以把脚本写成无输入无输出的函数形式,其他的函数就跟在后面,成为子函数。
方程组求解
【例如】:
{
x
x
+
y
=
3
5
x
x
+
y
+
10
=
4
7
\begin{cases} \frac{x}{x+y}=\frac{3}{5} \\ \frac{x}{x+y+10}=\frac{4}{7} \\ \end{cases}
{x+yx=53x+y+10x=74
利用Matlab的符号方程求解:
[x,y] = solve('x/(x+y)=3/5','x/(x+y+10)=4/7','x,y') % 老版本写法,弹出warning:建议使用syms
做一个小转化:
{
x
x
+
y
−
3
5
=
0
x
x
+
y
+
10
−
4
7
=
0
\begin{cases} \frac{x}{x+y}-\frac{3}{5} =0 \\ \frac{x}{x+y+10}- \frac{4}{7} =0\\ \end{cases}
{x+yx−53=0x+y+10x−74=0
syms x y
[x,y] = solve(x/(x+y)-3/5,x/(x+y+10)-4/7) % 完美求得结果!!
绘图操作指令
操作 | 指令 |
---|---|
字体、字号设置(3类) | 1.坐标轴刻度:set(gca,'Fontname', 'Times New Roman','FontSize',10) |
2.坐标轴标注:xlabel('t','Fontname', 'Times New Roman','FontSize',10) | |
3.图例文字:l1=legend('proposed method','conventional method'); set(l1,'Fontname', 'Times New Roman','FontSize',10) | |
坐标的线宽、字号、字体 | set(gca,'linewidth',2,'frontsize',12,'frontname','Times') |
x坐标轴的范围和间隔 | set(gca,'XTick',(0:3:18)) |
仅显示纵向网格线 | set(gca,'xgrid','on') |
标记点 | 1.类型:见后续图片 |
2.大小、颜色:plot(x,y,'--p', 'MarkerSize',10, 'MarkerFaceColor','m', 'MarkerEdgeColor','b','LineWidth',1.5) |