Matlab操作技巧

1 按enter之后,系统就会出结果,如果还不想让他运行,用分号将语句隔开就行,在按enter。

2 当拼写出错时,可以用键盘的向上箭头去修改,而不用全部重来。

3 “%”是类似“//”在vs中的作用,用于注释。

4 matlab中不用声明变量。

相关应用:

[c1, c2 ,c3] = textread(\'d:/b.txt\', \'%f %f %f\');

plot3(c1,c3,c2);

矩阵赋值

将c1的前4行赋给向量a, a =[c1(1:4)]。

赋值并绘制

for i = 0:1

a = [c1((i*4+1):(i*4+4))];;

b = [c3((i*4+1):(i*4+4))];

c = [c2((i*4+1):(i*4+4))];

plot3(a,b,c);

hold on;

end

PS: citygml中的模型坐标点也是由一个一个的三角面片组成,一个三角形有四个点,第一个点和最后一个点一样,为了重合,因此是从1到4.

5 绘图

5.1 plot(x,y)绘制二维图,plot3绘制三维图

5.2 网格生成函数:meshgrid。

绘制由函数 z=z(x,y) 确定的曲面时,首先需产生一个网格矩阵,然后计算函数在各网格点上的值。

mesh(X,Y,Z,C)

绘制由矩阵 X,Y,Z 所确定的曲面网格图,矩阵 C 用于确定网格颜色,省略时 C=Z

meshc(X,Y,Z,C)

调用方式与 mesh 相同,在 mesh 基础上增加等高线

5.3 三维表面图: surf, surfc

surf(X,Y,Z,C) 绘制由矩阵 X,Y,Z 所确定的曲面图,参数含义同 mesh

surfc(X,Y,Z,C) 调用方式与 surf 相同,在 surf 基础上增加等高线

6 矩阵/向量

取向量的元素,用的是小括号而不是中括号,这与c++编程不同,eg 向量a, x =a(1);

7 连续绘制多个三角形

在plot之后写个hold on

8 matlab由1开始计数,而不是0.

9 打出函数的首写字母,然后用向上箭头,可以找到关联函数

10 在c++中,z是高,在matlab中,y是高