这是在使用自定义函数时我遇到的问题
m = 10
function f = f1(x)
f = m + 1
end
如此类似的编写脚本文件,运行时却报错,f1函数中有未定义的变量m。
matlab中自定义函数必须要用函数文件吗?我如此想着但仍然报错,为了比赛也没充分学习matlab,这是我的基本语法错误了吗?
假设绘制2*2组合图,使用tiledlayout()函数。
Example
rn = 2; % The number of rows
cn = 2; % The number of columns
figure;
ha = tiledlayout(rn,cn,'TileSpacing','Compact','Padding','Compact');
X=[0 5 10 15 20 25 30 35];
Y=[11.6468 5.1099 3.326 2.3581 2.1535 1.9456 1.916 1.931;
11.364 5.0842 3.5273 2.5558 1.9321 1.8705 1.8567 1.8674;
12.1578 4.8974 3.1736 2.4388 1.9552 2.0668 1.8699 1.6778;
10.6016 5.0739 3.2126 2.3368 2.007 1.9236 1.8906 1.8702];
nexttile
plot(X,Y(1,:),'ko-','linewidth',linewidth1)
nexttile
plot(X,Y(2,:),'bo-','linewidth',linewidth1)
nexttile
plot(X,Y(3,:),'co-','linewidth',linewidth1)
nexttile
plot(X,Y(4,:),'ro-','linewidth',linewidth1)
设置tiledlayout(?行数,?列数,'TileSpacing','Compact','Padding','Compact');
后的间距实例
不做tiledlayout()
设置时的间距示例:
如果在使用 matLab 自定义函数时报错提示未定义变量,可以尝试以下几种解决方案:
global m
assignin('base', 'm', m)
m = 1;
load('filename.mat', 'm');
以上是一些常用的解决方案,根据具体情况选择适合的方法即可。